MySQL5.7.21开启Gtid配置主从复制
mysql5.7.21开启Gtid配置主从复制
一、环境:
mysql 主库master:10.0.0.101 172.168.1.101
mysql 从库slave:10.0.0.103 172.168.1.103
mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 二进制安装完成
二、主从库/etc/my.cf文件参数介绍
mysql主库完整my.cnf配置文件
mysql从库完整my.cnf配置文件介绍:
mysql的slave从库的配置文件/etc/my.cnf中参数只是sever_id和主库的不一样,其他的参数都保持一致
三、配置GTID参数介绍:
对于GTID的配置,主要修改配置文件中与GTID特性相关的几个重要参数(建议使用mysql-5.6.5以上版本),如下:
四、配置主从库
mysql master上操作:
mysql slave上操作:
mysql -uroot -p'123456' -e "source /root/juwo_$(date +%F).sql"
主库上的dump出数据在导入到slave过程中报错:
ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty
slave上执行完以上操作后,show slave status\G,查看到主从复制,slave上的sql线程报错,主从复制配置失败
五、重新配置主从复制:
参考一下文档:
https://www.cnblogs.com/tonnytangy/p/7779164.html
当前GTID_EXECUTED参数已经有值,而从master主库倒出来的dump文件中包含了SET @@GLOBAL.GTID_PURGED的操作
解决方法:
本文档同时采用了上述2个步骤:
master 库操作:
mysql slave上操作:
mysql -uroot -p'123456' -e "source /root/juwo_$(date +%F).sql"
主库上的dump出数据在导入到slave过程中一切正常
slave上执行完以上操作后,show slave status\G,查看到主从复制,slave上的IO线程和sql线程都是yes,到此mysql的GTID模式的主从配置完成