mysqldump如何分离GTID信息?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sun_ashe/article/details/82702197

mysqldump如何分离GTID信息

问题简介

在离线库添加新的复制通道时,要使用备份工具进行数据导出,再倒入的动作。而为了接起复制,数据导出时必须把GTID信息,或者binlog位置同时记录下来,这个信息会记录在备份出的sql文件的开始,如下:

/*!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='08abd9a8-a5e9-11e8-bcc6-000c29fc1d1b:1-4647';  //GTID 信息

然后再进行数据倒入操作时,由于备份sql文件中包含了SET @@GLOBAL.GTID_PURGED='08abd9a8-a5e9-11e8-bcc6-000c29fc1d1b:1-4647';,所以必须在从机上执行 reset master的操作。

解决办法

可以修改mysqldump的代码,是备份文件导出操作时,如果需要获取GTID信息,则把GTID写到别的文件中。具体的代码修改可以见如下链接
https://github.com/sunashe/mysql-server-old/commit/74d4fe3cd4bd3826b30e48a17b4cedd2e3c80dfe

可以直接下载mysqldump.c文件,替换源码中的mysqldump.c文件,然后编译自己的mysqldump版本

使用方式如下:

mysqldump ***  -s 

只需要加入-s参数,数据备份之后,GTID信息会记录在/tmp/gtid.txt文件中,追加的方式写入。

[root@127.0.0.1 ashe]# cat /tmp/gtid.txt
127.0.0.1 via TCP/IP
SET @@GLOBAL.GTID_PURGED='5b0abcfa-45ad-11e7-9e8b-246e9601d6d8:190240175-531626294,
821bb9ce-51c3-11e7-ad5b-246e960501c0:1-1785904435,
9f31bc2c-cddb-11e7-aa10-246e9601d6d8:1-985777745';

127.0.0l.1 via TCP/IP
SET @@GLOBAL.GTID_PURGED='1a4c1d12-7695-11e7-a1b6-ecf4bbea6648:1-6916601,
4140a848-6c20-11e6-93ee-44a842359f5c:8802447-8867041,
70198285-ebcf-11e7-a3ed-44a842470ec0:1-11477717,
ffffffff-ffff-ffff-ffff-ffffffffffff:1-23';

127.0.0.1 via TCP/IP
SET @@GLOBAL.GTID_PURGED='04a433b0-638a-11e6-9bef-44a842470ec0:604707-605177,
a9b3aff8-7694-11e7-8dd2-ecf4bbea6648:1-14,
ba7b7a72-7753-11e7-b10e-246e9601d908:1-528040,
e79fc8b5-ebca-11e7-87df-44a842470ec0:1-72237,
ffffffff-ffff-ffff-ffff-ffffffffffff:1-21';

猜你喜欢

转载自blog.csdn.net/sun_ashe/article/details/82702197