mysql软件:监督我的mysql复制服务器的任何建议?

时间:2008-08-29 22:30:03

标签: mysql mysql-management

我在设置复制服务器时遇到了困难。是否有任何程序(OS X,Win,Linux或php没问题)可以让我监控和解决复制问题? (顺便说一句,对于那些-uhm-关注者,我一直在讨论这个问题herehereherehere。要么是以错误的方式进行,要么是我必须非常厚实)

我的生产数据库有几个megs并且在不断增长。每次数据库复制停止并且数据库不可避免地开始滑出同步时,我都会感到畏缩。我最近从转储中重新同步了近4个小时的往返行程!

与往常一样,即使在同步之后,我也遇到了这种停止显示的错误“:

Error 'Duplicate entry '252440' for key 1' on query.

如果有一些方法可以密切监控正在发生的事情并且可能让软件处理它,我会很高兴。我甚至对服务公司都很敏感,可以帮助我更好地监控我的数据。或者完全镜像的另一种方式。

编辑:通过我之前的问题,我发现this非常有帮助。我仍然全神贯注于监控解决方案。

欢呼声,

/ MP

2 个答案:

答案 0 :(得分:3)

要监控服务器,我们使用免费tools from Maatkit ...简单但高效。

二进制复制在5.1中可用,所以我猜你有一些球。我们仍然使用5.0并且它工作正常,但当然我们遇到了一些问题。

我们使用Master-Master复制和MySql Proxy作为前端的负载均衡器,并防止它出错:

  • 我们删除了所有唯一索引
  • 对于我们确实需要唯一约束的少数情况,我们确保使用REPLACE而不是INSERT(MySql Proxy可用于保护正确使用...它甚至可以重写您的查询)
  • 执行密集报告的预定脚本始终访问同一服务器(而不是负载均衡器)...以便安全地复制危险操作

是的,我知道这听起来简单而愚蠢,但它解决了我们所有问题的95%。

答案 1 :(得分:0)

我们使用mysql复制将数据复制到接近30台服务器。我们用nagios监视它们。您可以检查复制状态并使用事件处理程序通过'SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1重新启动它;启动奴隶;'。这将修复错误,但您将丢失导致错误的插入。

关于错误,您是否在奴隶上使用内存表?我问这个是因为我们唯一一次遇到很多这些错误,它们是由mysql最新版本中的一个错误造成的。 “从表中删除字段=值”将仅删除内存表中的一行,即使它们位于多行中。

mysql bug descritpion