Mysql

主從 Mysql 複製的自動故障轉移策略 - 為什麼這不起作用?

  • November 24, 2020

我想要一些關於我正在為集群配置的幾個 MySQL 伺服器的故障轉移策略的回饋,並且我想檢查是否有一些明顯的東西我沒有在這裡遺漏。

一個在日常操作中連接到 mysql 主伺服器的應用程序伺服器,並且將 mysql 伺服器設置為它的從屬伺服器,用於主從複製目的。

如果 mysql 伺服器出現故障,我希望 web 應用程序嘗試連接到 master,然後在n嘗試失敗後,執行以下操作:

  • 假設 master 將不再可用
  • 向從伺服器發送信號以停止複制
  • 向從伺服器發送信號,告訴它充當新的 mysql 主伺服器
  • 重新開始連接伺服器,從現在開始像主人一樣對待它

一旦應用程序再次啟動並為使用者提供服務,我希望能夠在後台啟動一個新的從伺服器,一旦它準備好服務請求,再次設置主從複製以提供相同的故障轉移支持前。

我很確定這之前已經做過,但是我看不到任何關於這方面的指南,所以我假設一定有一些明顯的原因你不會嘗試這個,我還沒有想到。

採用這種方法為 MySQL 提供這樣的自動故障轉移有什麼缺陷?

順便說一句,我知道主-主複製,但是 a) 我已經看到它出現了可怕的錯誤,而且 b) 看起來過於復雜了,令人擔憂。

謝謝

自動故障轉移不利於複製的原因與複製滯後有關。如果從伺服器恰好落後並且發生故障轉移,則您可能正在使用尚不存在的鍵編寫更新,因為尚未寫入來自主伺服器的插入。複製滯後越多,這個問題就越嚴重。在我的公司,我們使用 DRBD 進行自動故障轉移,因為您故障轉移到的 DRBD 伺服器是原始主伺服器的精確磁碟級副本。作為一項政策,我們手動進行主/從和主/主設置的故障轉移。

引用自:https://serverfault.com/questions/274094