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