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是沒有進行備份的。