Mysql 數據庫 在主從 數據庫進行 導出備份和恢復的時候,須要注意是否啓用數據庫用GTID模式.若是開啓,則在mysqldump數據時,應該mysqldump命令加上參數--set-gtid-purged=OFF。mysql
具體詳細見轉載:sql
下面是採用mysqldump導出a.sql的前30行記錄:數據庫
[root@aaa0-D14-042 mysqlbackup]# head -30 t1.sql -- MySQL dump 10.13 Distrib 5.6.24-72.2, for Linux (x86_64) -- -- Host: localhost Database: yyf -- ------------------------------------------------------ -- Server version 5.6.24-72.2-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; <!--重點注意下面這兩行--> SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN; SET @@SESSION.SQL_LOG_BIN= 0; -- -- GTID state at the beginning of the backup -- SET @@GLOBAL.GTID_PURGED='18f9a804-343b-11e5-a21d-b083fed01601:1-2'; -- -- Table structure for table `t1` -- DROP TABLE IF EXISTS `t1`;
通常主從架構的數據庫,一般相關導入操做只須要在master(主庫)端進行便可,可是正如導出a.sql代碼中標註重點注意部分所示,禁掉了session級別的sql_log_bin,因此在目標端導入t1表時,並不會產生對應的bin log日誌,因此該表及其數據並不會被同步到slave端。這是在數據庫測試時發現這點是須要注意的。session
通過測試發現,當數據庫開啓GTID模式時纔出現綜上所述,所以若是數據庫用GTID模式,在mysqldump數據時,應該如warning提示加上參數--set-gtid-purged=OFF,此時導出的sql文件(沒重點標記的位置的代碼):架構
-- MySQL dump 10.13 Distrib 5.6.26, for Linux (x86_64) -- -- Host: localhost Database: yyf -- ------------------------------------------------------ -- Server version 5.6.26-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Table structure for table `t1`; ` -- DROP TABLE IF EXISTS `t1`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */;