MySQL使用mysqlbinlog实用程序时数据不一致

我有一个问题在MySQL复制

我有一个MySQL原始数据快照,我的主控主机有2个二进制日志(binlog.01,binlog.02 – 创build快照后开始logging)

我想要做的是将原始数据快照复制到从属主机,使用mysqlbinlog实用程序执行binlog.01,然后在更改主机将主机指向主机点binlog.02在启动位置1。

当奴隶完全处理二进制日志,我使用mk-table-checksum来检查复制,我得到了十几个不一致的消息。

然而,用另一种方法,我尝试将原始数据快照再次复制到从属主机,将主机更改为主机主机指向binlog.01在开始位置1 – 没有处理任何mysqlbinlog命令 – 我意识到,我没有得到任何不一致的消息时再使用mk-table-checksum。

我想知道为什么使用mysqlbinlog时数据库不一致。 请任何帮助,将不胜感激。

看起来你做错了。 你怎么知道binlog.01binlog.02是在你创build快照后创build的?

正确的方法是:

  • 停止主或flush tables with read lock;
  • 确定当前binlog文件和show master status;位置show master status;
  • 采取数据快照
  • 将快照复制到从属设备
  • 使用从主change master to复制坐标的从站configuration
  • 启动从属线程