还原工具mysqldump_mysqldump备份多个数据库_执行还原操作_导出表


(一)备份

mysql> show databases;

+——————–+

| Database                |

+——————–+

| information_schema  |

| mysql                          |

| performance_schema |

| sys                               |

| mzl                                |

+——————–+

(1) 执行全库备份

mysqldump -uroot -p123456 -h192.168.210.85 -P3306 –all-databases –single-transaction –force > all_db.sql

注:information_schema是特殊的数据库,即使全备,也不会备份该数据库。

(2) 备份多个数据库

备份多个数据库:mysql和mzl

mysqldump -uroot -p123456 -h192.168.210.85 -P3306 –databases mysql mzl –single-transaction –force > mzl_mysql_db.sql

(3) 备份单个数据库

根据是否使用“–databases”参数,单个数据库的备份有2种方法。

方法1:备份单个数据库:mzl,使用–databases参数

mysqldump -uroot -p123456 -h192.168.210.85 -P3306 –databases mzl –single-transaction –force > mzl.sql

方法2:备份单个数据库:mzl,不使用–databases参数

mysqldump -uroot -p123456 -h192.168.210.15 -P3306 mzl –single-transaction –force > mzl01.sql

两者的区别在于添加“–database”参数,则会在导出语句中包含建库语句。

[root@k8s-master mysqlbackup]# cat mzl.sql |grep “CREATE DATABASE”

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `testdb` /*!40100 DEFAULT CHARACTER SET utf8 */;

[root@k8s-masterr mysqlbackup]# cat mzl01.sql |grep “CREATE DATABASE”

(4)导出数据库的某些表

导出mzl的表class01,class02,目前来看,只能针对单个数据库的表进行导出

mysqldump -uroot -p123456 -h192.168.210.85 -P3306 –tables mzl class01 class02  –single-transaction –force > mzlall.sql

(二)还原

执行还原操作

[root@k8s-master mysqlbackup]# mysql -uroot -p123456 -h192.168.210.85 -P3306 < all_db.sql

查看还原结果:

mysql> show databases;

+——————–+

| Database                |

+——————–+

| information_schema  |

| mysql                          |

| performance_schema |

| sys                               |

| mzl                              |

+——————–+

使用“–databases”参数创建的备份,必须先创建数据库,再执行导入,导入时须指定数据库名称。

如果没有创建数据库 或者 不指定数据库名称,则还原报错

[root@k8s-master mysqlbackup]# mysql -uroot -p123456 -h192.168.210.85 -P3306 < mzl.sql

mysql: [Warning] Using a password on the command line interface can be insecure.

ERROR 1046 (3D000) at line 22: No database selected

指定数据库名称,还原正常

[root@k8s-master mysqlbackup]# mysql -uroot -p123456 -h192.168.210.85 -P3306 mzl< mzl.sql

mysql: [Warning] Using a password on the command line interface can be insecure.