把目前的replication升级到GTIDs

来源:互联网 发布:北京白领公寓 知乎 编辑:程序博客网 时间:2024/05/21 22:35
把目前的replication升级到GTIDs
把所有的master和slave
1.把所有的master和slave
set @@global.read_only=on;  或 set global read_only=on;
2.把所有的master和slave
service mysql stop
3.把所有的master和slave,开启GTIDs
开启GTIDs需要在所有机器上都配置gtid-mode,log-bin、log-slave-updates,
enforce-gtid-consistency(在5.6.9之前是--disable-gtid-unsafe-statement),
另外slave在这个环节需要增加skip-slave-start参数
master配置
[mysqld]
gtid-mode=on
log-bin
log-slave-updates
enforce-gtid-consistency
slave配置
[mysqld]
gtid-mode=on
log-bin
log-slave-updates
enforce-gtid-consistency
skip-slave-start
4.启动所有server服务,重新配置slave
service mysql start
slave下执行
change master to
master_host='slave_ip',
master_port=3306,
master_user='dba',
master_password='beifen',
master_auto_position=1;
start slave;


5.6以后可以多线程方式传输二进制日志
slave-parallel-workers=N


错误跳过
stop slave;
set global sql_slave_skip_count=1;   --gtid不支持,这个功能是基于position编号的
start slave;


GTIDs模式下错误处理
stop slave;
set gtid_nex='uuid:next_id';
begin;
commit;
set gtid_next='AUTOMATIC';
start slave;
0 0