MySQL 5.7 主从复制 GTID
GTID中slave端的binlog是必须开启的,目的是记录执行过的GTID
主库
#开启gtid
log-bin=mysql-bin
expire_logs_days = 5
binlog_format=mixed
server-id = 1
gtid_mode=on
enforce_gtid_consistency=true
log_slave_updates=on
#授权从库复制账号
grant replication slave on *.* to 'slave'@'%' identified by 'goodluck' ;
从库:
#开启gtid
log-bin=mysql-bin
expire_logs_days = 5
binlog_format=mixed
server-id = 2
gtid_mode=on
enforce_gtid_consistency=true
log_slave_updates=on
#从库配置连接主库
change master to master_host="主库IP",master_port=5506,MASTER_USER='slave',MASTER_PASSWORD='goodluck',MASTER_AUTO_POSITION=1;
flush privileges;
show slave status\G
#查看连接主库的配置
select * from mysql.slave_master_info;
将传统复制切换到GTID复制
在主从库执行 set global enforce_gtid_consistency=WARN;
在主从库执行 set global enforce_gtid_consistency=on;
在主从库执行 set @@GLOBAL.GTID_MODE = OFF_PERMISSIVE;
在从库执行 set @@GLOBAL.GTID_MODE = ON_PERMISSIVE;
在主库执行 set @@GLOBAL.GTID_MODE = ON_PERMISSIVE;
查看 show status like 'ONGOING_ANONYMOUS_TRANSACTION_COUNT';是否为0,等于0是表示所有连接都转为gtid复制
主从库执行 set global gtid_mode=on;
主从库执行 set global master_info_repository = 'TABLE';
主从库执行 set global relay_log_info_repository = 'TABLE';
在从库执行
stop slave;
change master to master_auto_position=1;
start slave;
更改配置文件my.cnf ,同开始。
参考:
https://blog.csdn.net/wjw465150/article/details/127043721
https://baijiahao.baidu.com/s?id=1724704235787909853&wfr=spider&for=pc
https://blog.csdn.net/weixin_36462703/article/details/113936852
https://www.jianshu.com/p/7e7935df249d
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY