1、mysql单库备份html
一、备份数据库mysql
mysqldump -uroot -pwc20080512 heruiguo>/opt/mysql_bak/mysql.sql;sql
二、删除数据库的表表,便于验证数据库
mysql -uroot -pwc20080512 -e "use heruiguo;drop table user;"bash
[root@localhost mysql_bak]# mysql -uroot -pwc20080512 -e "use heruiguo;drop table user;" [root@localhost mysql_bak]# [root@localhost mysql_bak]# mysql -uroot -pwc20080512 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 19 Server version: 10.1.20-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use heruiguo; Database changed MariaDB [heruiguo]> show tables; Empty set (0.00 sec)
三、用备份的数据还原;ui
mysql -uroot -pwc20080512 heruiguo </opt/mysql_bak/mysql.sql ;spa
四、验证还原的数据;code
[root@localhost mysql_bak]# mysql -uroot -pwc20080512 -e "use heruiguo;select * from user"; +----+----------+-----------+ | id | name | dizhi | +----+----------+-----------+ | 1 | heruiguo | chongqing | | 2 | zhangsan | chengdu | | 3 | lisi | beijing | | 4 | wangwu | shanghai | +----+----------+-----------+
注意:咱们在备份的时候建议加上-B,好处是在备份数据的时候会建立库,选中库orm
备份:mysqldump -uroot -pwc20080512 -B heruiguo >/opt/mysql_bak/mysql_B.sql;视频
还原:mysqldump -uroot -pwc20080512 </opt/mysql_bak/mysql_B.sql;
五、压缩备份,减少文件的大小
mysqldump -uroot -pwc20080512 -B heruiguo | gzip >/opt/mysql_bak/mysql_B.sql.gz;
2、mysql多库备份
一、建立库
create dababases wanghaixue;
二、建立表
create table school(
id varchar(10),
name varchar(20),
dizhi varchar(30)
);
三、插入数据
insert into school (id,name,dizhi) values (2,'daxue','nanjing'),(3,'xiaoxue','sichuan');
四、查询数据:
MariaDB [wanghaixue]> select * from school; +------+----------+---------+ | id | name | dizhi | +------+----------+---------+ | 1 | zhongxue | beijing | | 2 | daxue | nanjing | | 2 | daxue | nanjing | | 3 | xiaoxue | sichuan | +------+----------+---------+ 4 rows in set (0.00 sec)
五、备份多个数据库
mysqldump -uroot -pwc20080512 -B heruiguo wanghaixue|gzip >/opt/mysql_bak/mysql_duogeku.sql.gz;
heruiguo和wanghaixue是库名
3、多库批量分库备份
一、过滤掉多余的库
[root@localhost mysql_bak]# mysql -uroot -pwc20080512 -e "show databases;"
+--------------------+
| Database |
+--------------------+
| heruiguo |
| information_schema |
| mysql |
| performance_schema |
| wanghaixue |
+--------------------+
[root@localhost mysql_bak]# mysql -uroot -pwc20080512 -e "show databases;" |grep -Evi "info|per|data"|sed 's#^#mysqldump -uroot -pwc20080512 -B #g'
mysqldump -uroot -pwc20080512 -B heruiguo mysqldump -uroot -pwc20080512 -B mysql mysqldump -uroot -pwc20080512 -B wanghaixue
二、拼接备份语句
[root@localhost mysql_bak]# mysql -uroot -pwc20080512 -e "show databases;" |grep -Evi "info|per|data"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pwc20080512 -B \1|gzip >/opt/mysql_bak/\1.sql.gz#g' mysqldump -uroot -pwc20080512 -B heruiguo|gzip >/opt/mysql_bak/heruiguo.sql.gz mysqldump -uroot -pwc20080512 -B mysql|gzip >/opt/mysql_bak/mysql.sql.gz mysqldump -uroot -pwc20080512 -B wanghaixue|gzip >/opt/mysql_bak/wanghaixue.sql.gz
三、拼接可执行备份语句
[root@localhost mysql_bak]# mysql -uroot -pwc20080512 -e "show databases;" |grep -Evi "info|per|data"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pwc20080512 -B \1|gzip >/opt/mysql_bak/\1.sql.gz#g'|bash
四、验证备份的结果
[root@localhost mysql_bak]# ll 总用量 144 -rw-r--r--. 1 root root 814 4月 29 11:33 heruiguo.sql.gz -rw-r--r--. 1 root root 136444 4月 29 11:33 mysql.sql.gz -rw-r--r--. 1 root root 783 4月 29 11:33 wanghaixue.sql.gz
4、备份单个表
mysqldump -uroot -pwc20080512 heruiguo user >/opt/mysql_bak/user.sql;
分库分表视频:
http://edu.51cto.com/course/808.html
备份表结构(-d)
mysqldump -uroot -pwc20080512 -d heruiguo user
备份数据(-t)
mysqldump -uroot -pwc20080512 -t heruiguo user