如何监视mysql复制奴隶?

终于,我终于可以将Mysql复制(在Windows上)从一台主机设置为另一台主机,就像一个简单的asynchronous主从复制一样。 现在这个复制的目的只是为了有最新的备份,我们可以在崩溃的时候切换到从服务器。

  1. 如何监视从站状态,如果无法联系主机,是否可以通过电子邮件发送给我,或发生更多故障。
  2. 如何确保复制同步,我们不丢失任何数据。

如果有什么自动化的解决scheme那么很好,否则如果我自己写一些工具的话,我还是会接受这个想法的。

Nagios有几个MySQL复制监视器。 这些应该做的伎俩。

我对maatkit工具非常满意。

为了监控奴隶滞后,我使用mk-heartbeat 。 它的输出由一个简单的nagios插件处理。 所以警报的东西是通过短信,邮件,处理…

为了确保所有复制节点上的数据都是相同的,我使用mk-table-checksum 。 我有一个每天运行mk-table-checksum的小脚本,并且在主站和从站上的所有数据的校验和1/7,然后validation校验和。 所以每个星期都要对整个数据进行校验。 我目前正在围绕这个脚本做一个小包装,将结果重新转换成nagios。 对于mk-table-checksum我build议深入讨论--arg-table ,– --modulo ,– --offset ,– --offset ,…

我还有一个小脚本,每天计算每个表中的行数,然后计算chunk-size并将其存储在--arg-table给出--arg-table …所以事情应该是一种--arg-table

HTH

没有任何东西在架子上 – 但是写一些从cron工作中发出的东西很简单,比方说每10分钟一次,

 writes to a dedicated table in the master, and checks the time sends an alert (or triggers automatic failover) if the live database is not available alternatively sleeps for X minutes reads the timestamp on the replicated record sends an email if they're out of sync by more than a defined threshold 

如果你还没有一个,你应该考虑得到一个适当的监测设置 – 看到这个线程和整合您的解决scheme。

HTH

C。

我做了一个预定的程序,查询“SHOW SLAVE STATUS”,如果有任何错误,我会通知我自己。