mysqldump进行数据库的全备时,备份数据库的顺序是什么,就是先备份哪个库,然后再备份哪个库

需求描述:

  今天在用mysqldump工具进行数据库的备份的时候,突然想了一个问题,比如我有10个库要进行备份

  那么是先备份哪个,然后再备份哪个呢,所以,做了实验,验证下.

操作过程:

1.使用--all-databases选项对数据库执行了全备份,查看生成备份SQL文件,过滤CREATE DATABASES语句

[mysql@redhat6 MysqlDb_Backup]$ grep "CREATE DATABASE \/\*\!32312 IF NOT EXISTS\*\/" FullBackup_2018-04-09_02.sql 
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysql` /*!40100 DEFAULT CHARACTER SET latin1 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test01` /*!40100 DEFAULT CHARACTER SET latin1 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test02` /*!40100 DEFAULT CHARACTER SET latin1 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test03` /*!40100 DEFAULT CHARACTER SET latin1 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `top_server` /*!40100 DEFAULT CHARACTER SET latin1 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `ziler` /*!40100 DEFAULT CHARACTER SET latin1 */;

备注:在对数据库进行全备份时,就是按照上面的顺序进行备份的,那么这个顺序是如何来的呢

2.查看information_schema数据库下schemata表

SELECT
    SCHEMA_NAME
FROM
    information_schema.SCHEMATA;

查询结果:

备注:查询出来的结果,就是按照字母的排列顺序,备份也就是按照这个顺序进行依次备份的.

 

小结:

  在通过--all-databases选项进行数据库备份的时候,备份库的顺序,就是库按照名字的排序的顺序,也可以通过

  information_schema.schemata表的查询结果来确定.

  注意:查询scemata表时,不要加任何的排序.

 

文档创建时间:2018年4月9日15:45:13

posted @ 2018-04-09 15:46  Zhai_David  阅读(507)  评论(0编辑  收藏  举报