joh*_*rds 7 mysql monitoring mysql-replication
监视从站以确保它是的最佳实践是什么
a) 仍在运行 b) 作为主站不会太远
我想通过电子邮件提醒它是否落后,很高兴编写一两个脚本来挂钩命令行应用程序。
你可以使用 maatkit 的mk-heartbeat
你可以看看结果
show slave status;
Run Code Online (Sandbox Code Playgroud)
在 sql slave 上运行,但 Seconds_Behind_Master 有时令人不安地不准确。
你可以破解你自己的解决方案,类似于我的 - 我将它用于nagios监控和提供显示“落后于大师的秒数”的穆宁图表。
在主服务器上,我有简单的 cron 作业:
* * * * * root /usr/local/bin/repltest
Run Code Online (Sandbox Code Playgroud)
其中 repltest 是:
#!/bin/bash
start=`date +%s`
d=0
while [ $d -lt 60 ] ; do
echo "update repl_test set t= NOW(); " |mysql --defaults-file=/etc/mysql/debian.cnf repl_test
sleep 3
d=$(( `date +%s` - $start ))
done
Run Code Online (Sandbox Code Playgroud)
在从站上,我监控返回的值:
echo "select UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(t) from repl_test" | mysql --defaults-file=/etc/mysql/debian.cnf -N repl_test
Run Code Online (Sandbox Code Playgroud)
所有服务器上的本地时间通过 ntp 同步。
repl_test 数据库包含:
CREATE TABLE IF NOT EXISTS `repl_test` (`t` datetime NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `repl_test` (`t`) VALUES(NOW());
Run Code Online (Sandbox Code Playgroud)
如果您运行复制 - 我建议您还设置mk-table-checksum来不时比较您的 sql 服务器的内容。
归档时间: |
|
查看次数: |
2045 次 |
最近记录: |