Mysql

自動在本地和託管伺服器之間同步 mysql 數據庫

  • February 3, 2022

我們有許多帶有開發、登台和生產伺服器的網站。我們有很多項目的開發人員。我們需要一個解決方案來同步開發人員和暫存數據庫。在那之後,我們可以移動到實時數據庫。

該工具需要完全自動同步,以便開發人員無需每次都執行該工具。

使用複制主 => 從?小心衝突

複製在您的情況下無法工作,因為開發人員數據庫經常會更改,並且與主中斷複製衝突(按設計)。此外,開發人員不能依賴不斷變化的數據。

您需要採取某種形式的備份並將其發送到開發人員的機器。以下是我認為的最佳解決方案:

  • ZFS快照。您需要一個在 ZFS 上執行的生產環境中的 MySQL 實例。它應該是從伺服器,而不是所有 MySQL 伺服器,因為 ZFS 延遲高於標准文件系統。您還需要在開發和登台機器上使用 ZFS。主人會定期拍攝快照並將其發送到登台和開發。這些快照將是增量的。這也可以作為備份,因為所有執行 ZFS 的伺服器都可以在需要時回滾到最新的快照。我想只有當您的開發人員使用您可以修改的 Vagrant 機器或容器時才可行。
  • 超備份。這不需要使用特定的文件系統。XtraBackup 可以在伺服器執行時對其進行備份,並且幾乎沒有鎖定。這是一個很大的優勢。這些備份可以發送到登台和開發進行恢復(您只需用備份替換數據目錄)。如果需要,可以對這些備份進行加密。

引用自:https://dba.stackexchange.com/questions/39991