分享

mysql 5.6为什么可以做到准确的切换? GTID

 王老虎888 2014-09-16

以下来自阿里云官网对外帮助文档:



当RDS主节点发生故障,需要进行主备切换时,由于主实例的备节点以及只读实例都是利用MySQL原生复制从主节点异步同步数据,备节点与只读实例之间会有数据不一致的情况。在发生主备切换后,只读实例将去备节点拉取增量数据,由于Binlog文件中针对变更记录(事务)的变更时间只会到秒级别,针对一秒钟有大量事物的应用,将无法保证主备切换后备节点与只读实例之间数据一致性。(例如:2014年8月4日 15:33:33 有1万条记录(事务),备节点执行了5000条,2个只读实例分别执行了3400条,8700条)

        MySQL5.6版本针对这一情况推出了GTID的概念,在Binlog文件中的每条变更记录(事务)都会记录一个GTID,当RDS发生主备切换,只读实例切换备节点为主实例的时候,MySQL原生复制能够根据GTID精确的比对只读实例和备节点的Binlog文件中每条事务的GTID,将只读实例切换至备节点Binlog文件的正确位置,从而保证主备切换后的数据一致性。 


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多