Mysql

在 Amazon RDS 上進行 mysqldump 還原的最快方法是什麼?

  • October 27, 2016

我們需要將數據庫從 7-Gb mysqldump 文件恢復到 RDS Amazon 實例。完全恢復需要 3 到 4 個小時(可能是由於網路延遲,因為轉儲必須駐留在 EC2 上),這對我們來說太長了。作為參考,還原到本地 mysqld 需要不到 30 分鐘。

是否有與亞馬遜相關的解決方案可以讓我們減少進口時間?

關於優化 mysqldump 恢復時間的問題之前有人問過,例如:

但是,這個問題是不同的,因為涉及到 RDS 實例,所以:

  • 應用了其他約束,例如某些 MySQL 變數(例如innodb_doublewrite)不能更改以提高性能
  • 可能有一些亞馬遜本地解決方案或產品可以輕鬆、很好地解決這個問題

您現在必須考慮 RDS 實例

  • 提供更多的 IOP
  • 使用 innodb_flush_log_at_trx_commit = 2 是否安全
    • 設置 innodb_flush_log_at_trx_commit = 2
    • 設置 sync_binlog=0
  • 由於在 Amazon RDS 中預設 max_allowed_pa​​cket = 1M,這可能會導致 mysqldump 的多行插入(擴展插入)失敗。您可能希望使用 –skip-extended-insert 對數據庫進行 mysqldump。這將保證數據被一個一個地插入,但是轉儲會更大並且需要更長的時間來導入。

請閱讀從 Percona 的部落格將客戶 MySQL 安裝遷移到 Amazon RDS 時學到的知識,以獲得更深入的見解。

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