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