MYSQL GTID搭建主从(双主)
1.需要主从库开启GITD的配置并导出主库数据库
my.cnf
#开启gtid
enforce-gtid-consistency=true
gtid-mode=on
导出主库数据库
mysqldump -uusername -ppassword -h127.0.0.1 -P3306 --routines --single-transaction --master-data=2 --databases db1 db2 db3 > /home/db.sql
查看db.sql发现多了SET @@GLOBAL.GTID_PURGED='96b3421f-c5d2-11ec-8a68-fa163e621168:19085835,ed00fc98-c5d1-11ec-a60a-fa163e131e1b:1-610487';

2.将导出的主库数据移到从库节点进行数据导入并搭建主从
从库操作
i.reset master移除index文件中列出的所有的二进制日志文件,并创建一个新的空日志文件,从.000001重新开始。该命令不能在节点下还有从库在正常同步的情况下执行,否则从库会报错,找不到同步位置。
reset master;
ii.RESET SLAVE ALL会删除内存中的主从连接信息
reset slave all;
iii.导入主库数据到从节点
source /home/db.sql
iv.搭建主从关系
CHANGE MASTER TO
MASTER_HOST='192.168.10.101',
MASTER_USER='rep',
MASTER_PASSWORD='qazwsx',
MASTER_PORT=3306,
MASTER_AUTO_POSITION = 1;
v.开启主从
start slave;
3.如果需要搭建双主则需要在主库上执行第二步命令里边的ii,iv,v即可,禁止在节点下还有从库在正常同步的情况下执行reset master;,否则从库会报错,找不到同步位置。
如果之前做过双主,双主主从报错1236且一个节点需要重做的情况下,则需要在从节点执行上边的1.导出主库数据库,2.将导出的主库数据移到从库节点进行数据导入并搭建主从两步,3.主节点只需要执行reset slave,start slave;即可

Mysql中的Reset slave、reset slave all、reset master三者区别
http://www.manongjc.com/detail/23-sgxwgxojjyrgukf.html
GTID双主复制从节点主从异常修复
主库执行
show global variables like 'gtdi_purge%'
03fbc4ad-03f3-11ec-ac00-6c92bff687fd:1-3406047
从库执行
stop slave
reset master;
set @@GLOBAL.GTID_PURGED='03fbc4ad-03f3-11ec-ac00-6c92bff687fd:1-3406047';
start slave for channel 'master_77168_13001';
start slave for channel 'out_13111_23001';
主库
执行
start slave for channel 'master_77176_13002';
本文来自博客园,作者:whiteY,转载请注明原文链接:https://www.cnblogs.com/whiteY/p/16350886.html

浙公网安备 33010602011771号