首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确保MySQL replication SLAVE与replication MASTER完全同步?

如何确保MySQL replication SLAVE与replication MASTER完全同步?
EN

Stack Overflow用户
提问于 2012-02-11 15:34:43
回答 3查看 12.3K关注 0票数 10

使用一主一从的简单复制设置,如何确保从和主完全同步?

现在是的,它们都是从完全相同的映像开始的,复制正在工作,并且报告说一切正常,但是:*发生了停止复制时出现错误,然后必须停止复制,然后再恢复复制。*可能是在SLAVE上意外发生了更改,然后它与MASTER不再相同。*其他任何可能中断同步的场景。

虽然可以对这两个数据库做一个大的mysqldump并比较文件,但我感兴趣的是一种方法,它可以更容易地实现,也可以自动检查,以确保所有文件都是同步的。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2012-02-11 16:04:48

你有没有试过Percona Toolkit (以前称为Maatkit)?您可以根据您的情况使用他们的pt-table-checksum工具之一。你也可以在他们的网站上查看其他工具。

pt-table-checksum

通过在主体上执行校验和查询来执行联机复制一致性检查,这会在与主体不一致的副本上生成不同的结果。可选的DSN指定主主机。如果发现任何差异,或者出现任何警告或错误,则该工具的退出状态为非零。

以下命令将连接到本地主机上的复制主机,对每个表进行校验和,并报告每个检测到的副本的结果:

票数 7
EN

Stack Overflow用户

发布于 2014-10-31 04:00:18

如果您的MySQL服务器版本为5.6.14或更高版本,则可以使用MySQL复制同步检查器。它包含在MySql服务器包中。专为支持全局事务标识符(GTID)并具有gtid_mode=ON的服务器而设计。

此实用程序允许您检查复制服务器的同步。它检查主设备和从设备之间或两个从设备之间的数据一致性。该实用程序报告丢失的对象和丢失的数据。该实用程序可以在活动复制拓扑上运行,并应用同步过程来检查数据。仍可检查复制未处于活动状态的服务器,但将跳过同步过程。在这种情况下,由用户手动同步服务器。

See MySQL Documentation for more information

票数 4
EN

Stack Overflow用户

发布于 2015-04-16 03:10:41

您对看似健康的主/从复制设置的怀疑是正确的!我们运行得很好,突然收到来自check_mk的警报,说我们的主服务器上有一个数据库,而我们的从服务器上并不存在这个数据库。但是主状态和从状态的输出都很好!这有多让人不安?证明过程完整性的方法是使用校验和来验证数据。

我在网上看到了很多推荐pt-table-checksum的帖子。然而,事实证明,它的limitations太繁琐了,让我们感到不舒服。最重要的是,它需要甚至设置基于语句的复制(参见pt-table-checksum链接)。正如它在mysql 5.6 online documentation中所说的那样(对于基于行的复制...)“所有更改都可以复制。这是最安全的复制形式。”基于语句的复制还有其他缺点,这让我们的开发人员感到紧张,因为一些函数无法正确复制;请参阅文档中的列表。

我们已经遇到了使用基于语句的复制的主服务器和从服务器的问题,所以我们特别努力避免这种情况。

我们将尝试mysqlrplsync,它特别提到了它的"works independently of the binary log format (row, statement, or mixed)"。然而,它也提到,gtid-mode必须打开,它需要MySQL 5.6.14和更高版本...这意味着,我相信,与RHEL7/CentOS7一起交付的MySQL至少已经过时了。您需要获得MySQL社区版,这是留给读者but you can go here for the packageshere for the repos, including RHEL derivatives and Debian的练习。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9238624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档