iT邦幫忙

0

Mariadb master-master replication 如何確認 sync status?

Y.B 2019-08-30 23:13:11849 瀏覽

今天在設定 Mariadb master-master replication 來當系統備援方案,一開始都蠻順利的,可是突然想到一個問題......
當系統原先連線到 master_a 讀寫,有天 master_a 掛了,系統會自動切換成讀寫 master_b,可是當 master_a 修復好,如何確認 master_b 在 master_a 掛掉期間新增的資料已經完全 sync 到 master_a 了?
畢竟沒確認同步狀態讓系統自己切回去 master_a 缺乏一些歷史資料,導致系統不正常 user 就會唉唉叫了......
查了一下,可以檢查

show slave status\G
...
Seconds_Behind_Master =0;
...

如果是 0 就沒問題

但實際測試發現正在同步時,它也是 0 (還是少開了參數?)
不然另外的方案就必須用第三方工具 pt-table-checksum 或是自己寫個程式確認兩邊 table count
但是 Mariadb 本身應該有辦法確認現在同步狀態吧?不然它們彼此如何同步的?
請問什麼命令可以讓我知道 Master 彼此是已經同步完成了(先不管驗證資料問題)
有什麼關鍵字可以讓小弟去查詢的?感謝各位大大/images/emoticon/emoticon02.gif
Mariadb version:10.1.41

1 個回答

0
ckp6250
iT邦研究生 4 級 ‧ 2019-08-31 10:35:20
最佳解答

我是不知道要用什麼方法去確認兩個 master 有沒有互相同步完成,
但我會用笨方法,
開一台 slave_a 單向同步 master_a
開一台 slave_b 單向同步 master_b

然後,寫一隻程式,把這四台比一比,
理論上說,應該會一模一樣才對。

只要其中有一台不一樣,就是有問題啦。/images/emoticon/emoticon02.gif

Y.B iT邦新手 5 級 ‧ 2019-09-01 15:00:15 檢舉

看來還是得靜下心啃一下文件了/images/emoticon/emoticon06.gif

ckp6250 iT邦研究生 4 級 ‧ 2019-09-01 15:42:55 檢舉

等您啃出心得時,麻煩再公諸於世。

但,我是真的覺得,弄一台【單向同步】也有好處,至少不會有您現在的疑問。

我要發表回答

立即登入回答