使用複製的備份策略

使用複製的備份策略

我的生產資料庫擁有所有複製到從伺服器的 MyISAM 表。當我需要執行備份時,我只需停止從屬伺服器上的mysql伺服器,複製表文件,然後再次啟動伺服器。這幾年來運作良好。然而,我現在需要將我的 master 上的一些表轉換為 InnoDB,因為我遇到了一些鎖定問題。我認為我不能再複製從站上的表文件了。我有幾個問題:

  1. 在同一個資料庫中混合 MyISAM 和 InnoDB 表是個好主意嗎?不同類型的表將用於連接和其他操作。

  2. 我應該在從屬設備上有 2 個備份進程 - 1 個用於備份 MyISAM,另一個用於備份 InnoDB 表?對我來說似乎一團糟。

  3. 我可以將 InnoDB 表轉換為從屬伺服器上的 MyISAM 表並保留現有的備份過程嗎?主伺服器上的 InnoDB 表可以複製到從伺服器上的 MyISAM 格式的同一個表嗎?

答案1

  1. 混合表類型很好,儘管您可能想要檢查特定應用程式的混合表和所有 InnoDB 表之間的效能差異。

  2. 即使沒有混合表,我也建議透過執行轉儲來進行備份,這比複製檔案/資料夾要好得多,因為它簡化了遷移到另一個伺服器或 MySQL 版本的過程。

  3. 沒有理由將其分成兩個單獨的備份。

我強烈建議您不要更改從站上的表格式,尤其是在您使用事務時。透過保留 InnoDB 表,從站將正確處理事務。透過將表更改為 MyISAM,您很可能會因在備份中包含部分事務而導致問題,這在您必須進行還原時可能是個壞消息。

相關內容