首页 > 代码库 > mysql5.6传统复制改为基于GTID多线程复制
mysql5.6传统复制改为基于GTID多线程复制
1、必须主备库两个的数据是一致的,也就是说当前从库没有数据延迟的情况。并且主库不能再有数据更新的情况。备库停止slave线程:stop slave;
主库:show master status;
备库:show slave status;
观察备库的Relay_Master_Log_File和主库的File一样,备库的Exec_Master_Log_Pos和主库的Position一样即可。
2、记下主库此时的file和position信息
3、修改主备库的my.cnf配置,增加参数配置如下:
gtid_mode=on
enforce_gtid_consistency=on
log_slave_updates=on
binlog_format=row
skip_slave_start=1
log_bin=master-binlog
slave_parallel_workers=4
4、重启主备库,记下主库此时的show master status的信息,即file、position、gtid号。检查主备库错误日志。检查主备库show variables like ‘%gtid%‘;是否已经开启GTID模式。
5、在从库配置slave。
stop slave;
reset slave;
set @@global.gtid_purged=‘77d12988-29c1-11e6-a323-fa163ea5bbe1:1-88806‘;
CHANGE MASTER TO MASTER_HOST=‘192.168.1.1‘, MASTER_PORT=3306, MASTER_USER=‘slave‘,MASTER_PASSWORD=‘slave‘, master_auto_position=1;
start slave;
6、检查备库的slave线程状态。 show slave status\G; 可以在主库执行一些DML或者DDL操作,看能否正常同步过来,GTID值是否有增加。
如果从库是新建的,并且主库已经启动gtid模式的话,可以使用主库最近的一份热备数据和这份数据对应的GTID值,在配置slave的时候,记得set @@global.gtid_purged=”GTID值“,其他的跟上面操作一样。
资料:
http://www.cnblogs.com/zejin2008/p/5753934.html
本文出自 “厚积薄发” 博客,请务必保留此出处http://1057212.blog.51cto.com/1047212/1891714
mysql5.6传统复制改为基于GTID多线程复制