mysqldump導出數據備份 --set-gtid-purged=OFF

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 */;
相關文章
相關標籤/搜索