在 slaver 端,有幾項參數可以用來判定同步機制是否運作正常
show global status like 'slave_running'
如果它 (如上) 是 On 代表 SQL thread 與 the IO thread 正常
還有,它 (如下) yes 的話代表說 slaver 的 io thread 有連到 master
slave_io_running
再一個 (如下) yes 時代表 sql thread 正常
slave_sql_running
這個 (如下) 為 0 代表沒有差距多少時間,但也有人說不它不是完全準確,所以不要太相信它
seconds_behind_master
所以 MySQL 5.5 以上有一個功能,它會每隔多久時間去檢查是否有落後 master
master_heartbeat_period
Percona Toolkit 這套也很好用,裡面的工具 (但我未實作過)
pt-heartbeat 監控 slaver 是否延遲
pt-slave-restart 監看 slaver 有錯誤時 restart
pt-slave-find Find and print replication hierarchy tree of MySQL slaves.
pt-table-checksum 檢查差異在那裡
留言