mysql 5.7 enable GTID replication
来源:互联网 发布:mac和max 编辑:程序博客网 时间:2024/04/28 11:36
mysql 5.7 enable GTID replication
mysql 5.7.6及以后版本支持在线启用GTID replication,所以你可以使用传统的方法或者在线方法 enable GTID replication
一:传统方法enable GTID replication
参考 mysql 5.6 enable GTID replication
二:online enable GTID replication
NOTE:使用在线开启关闭GTID需要满足如下几个条件
1)复制拓扑中所有mysql版本必须是5.7.6或者更高版本
2)复制拓扑中所有mysql实例gtid_mode必须设置为off
1. On each server, execute:(在每个mysql实例执行如下命令)
SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = WARN;##5.6版本该参数只有on/off两个值,5.7.6版本之后多了WARN。设置该参数如果有不符合GTID限制的语句,能执行但会在error中记录warning,在我们真正开始enable GTID之前应先开启该参数让业务正常跑一段时间,如果有相关警告,应先处理程序中这些语句NOTE:确认上一步执行成功,再继续一下步
2. On each server, execute:(处理完业务中违反GTID限制的程序后,在所有数据库实例执行如下语句)
SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = ON;##该参数设置为ON后,所有违反GTID限制的程序在数据库上执行都会报错
3. On each server, execute:(上一步执行成功后,在所有的数据库实例上执行如下语句,无所谓哪个实例先执行)
SET @@GLOBAL.GTID_MODE = OFF_PERMISSIVE;##5.7.6之后GTID_MODE参数可选值如下:全局系统变量GTID_MODEOFF 不产生GTID, Slave只接受不带GTID的事务OFF_PERMISSIVE 不产生GTID, Slave即接受不带GTID的事务也接受带GTID的事务ON_PERMISSIVE 产生GTID, Slave即接受不带GTID的事务也接受带GTID的事务ON 产生GTID, Slave只接受带GTID的事务
4. On each server, execute:(无所谓哪个实例先执行)
SET @@GLOBAL.GTID_MODE = ON_PERMISSIVE;
5. On each server, wait until the status variable ONGOING_ANONYMOUS_TRANSACTION_COUNT is zero. This can be checked using:
SHOW STATUS LIKE 'ONGOING_ANONYMOUS_TRANSACTION_COUNT';检查所有实例的ONGOING_ANONYMOUS_TRANSACTION_COUNT值为0后再继续后面步骤NoteOn a replication slave, it is theoretically possible that this shows zero and then non-zero again. This is not a problem, it suffices that it shows zero once.
6. 备份
If you use binary logs for anything other than replication, for example point in time backup and restore, wait until you do not need the old binary logs having transactions without GTIDs.
如果你的备份策略需要binlog,那么再执行完第五步以后,在备份脚本所在服务器上执行flush logs;,然后执行一次全备
7. On each server, execute:
SET @@GLOBAL.GTID_MODE = ON;
8. On each server, add gtid-mode=ON to my.cnf.
在每个实例的配置文件中添加gtid-mode=ON
9. execute the following on each slave:
STOP SLAVE [FOR CHANNEL 'channel'];CHANGE MASTER TO MASTER_AUTO_POSITION = 1 [FOR CHANNEL 'channel'];START SLAVE [FOR CHANNEL 'channel'];##如果你使用了多源复制,那么为每个channel执行如上操作
参考链接:
http://blog.csdn.net/shaochenshuo/article/details/54862603
http://blog.csdn.net/shaochenshuo/article/details/54138317
http://blog.csdn.net/shaochenshuo/article/details/54138317
http://dev.mysql.com/doc/mysql-replication-excerpt/5.6/en/replication-gtids-concepts.html
http://dev.mysql.com/doc/mysql-replication-excerpt/5.7/en/replication-gtids-concepts.html?ff=nopfpls
https://dev.mysql.com/worklog/task/?spm=5176.100239.blogcont41200.6.xtY06T&id=7083
http://dev.mysql.com/doc/refman/5.7/en/replication-mode-change-online-enable-gtids.html
- mysql 5.7 enable GTID replication
- mysql 5.6 enable GTID replication
- mysql 5.7 disable GTID replication
- mysql GTID Replication
- mysql GTID Replication
- mysql 5.6 disable GTID replication
- Mysql Replication Troubleshooting - Classic VS GTID
- MySQL 5.7 (2GTID,binlog)
- MySQL GTID
- mysql 5.7 Replication 详解
- Mysql-5.7 基于GTID主从复制
- Mysql-5.7 基于GTID主从复制
- Migration from classic replication to GTID replication(Online)
- mysql uuid以及gtid
- mysql GTID主从复制
- MySQL学习笔记:GTID
- Mysql GTID主从复制
- Mysql GTID Mha配置
- 【工具】提高开发效率的一些
- EasyPR--中文开源车牌识别系统 开发详解(1)
- Dynamics 365 for Sales: Email Engagement
- GeoServer中WMS、WFS的请求规范
- 修改linux文件权限命令:chmod
- mysql 5.7 enable GTID replication
- 把系统的yum源更换成aliyun的yum源
- 1020. 月饼 (25)
- Android网络连接之HttpURLConnection和HttpClient
- 延迟加载和立即加载的区别
- [Unity3D]Touch&Event
- EasyPR--开发详解(2)车牌定位
- [RK3288][Android6.0] USB ECHI 驱动小结
- 富文本编辑器UEdtion(JSP版本)