我已经用mysql 5.7和GTID设置了主从复制。
GTID应该比仅复制每条语句的旧方式更“安全”,对吗?
但是,在使用GTID进行复制时,我可以通过检查SHOW SLAVE STATUS\G来检查从服务器上的数据一致性吗?
还是需要检查每个表中的每行和,以确保所有内容都被正确复制?
发布于 2017-06-02 01:10:13
在我回答你的问题之前,一些术语问题.
GTID唯一地标识复制的每一件事物。这是对以前的复制技术的改进--但大多数时候你有多台机器,需要从某种故障中恢复过来。它有助于事情的自动化。
bin_log_format =语句或行或混合指从主从转移到奴隶的内容。语句(SBR)是旧方式;行(RBR)是新方法。RBR之所以“更好”有很多微妙的原因。
SHOW SLAVE STATUS除其他外,提供了复制是否由于某些错误而停止。它报告了一个粗略的老化度量(Seconds_Behind_Master),而不是“一致性”(更改是否到达并正确应用)。
您不需要对每一行进行校验和。你要是再加上这样的话就太笨拙了。网络层(TCP/IP等)进行校验和以“保证”传递和验证传递的内容。
如果您想进行自己的一致性检查,我建议Percona的pt表-校验和。它处理了很多结束的情况--对于那些开始自己检查的人来说是不明显的。
https://dba.stackexchange.com/questions/175190
复制相似问题