1.通过--all-databases选项对所有的数据库进行备份
[mysql@redhat6 MysqlDb_Backup]$ mysqldump -uroot -p --single-transaction --master-data --triggers --events --routines --flush-logs --all-databases > FullBackup_2021-11-09.sql Enter password:
通过--all-databases选项对Mysql进行全库的备份.备份出来的SQL dump文件中,包含创建数据库的SQL语句。
2.查看生成的sql文件
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000011', MASTER_LOG_POS=107; -- -- Current Database: `mysql` -- CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysql` /*!40100 DEFAULT CHARACTER SET latin1 */; #在生成的SQL格式的备份文件中,包含CREATE DATABASE语句. USE `mysql`; -- -- Table structure for table `columns_priv` -- DROP TABLE IF EXISTS `columns_priv`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */;
3.查看都备份了哪些数据库
[mysql@redhat6 MysqlDb_Backup]$ grep "CREATE DATABASE \/\*\!32312 IF NOT EXISTS\*\/" FullBackup_2021-11-09.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*/ `top_server` /*!40100 DEFAULT CHARACTER SET utf8 */;
4.查看当前所有的数据库
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | #该数据库在全备时是不进行备份的 | mysql | | performance_schema | #该数据库在全备时是不进行备份的 | test01 | | top_server | +--------------------+
在进行数据库的全备份时,information_schema和performance_schema两个DB是没有进行备份的。