使用零停機時間修補 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用零停機時間修補

執行 Aurora My SQL DB 叢集的升級會在資料庫關閉和升級時發生中斷的可能性。根據預設,如果您在資料庫忙碌時開始升級,則會遺失資料庫叢集正在處理的所有連線和交易。如果您要等到資料庫閒置才執行升級,就可能必須等待很長時間。

零停機修補 (ZDP) 功能會盡最大努力嘗試透過 Aurora My SQL 升級保留用戶端連線。如果順利ZDP完成,則會保留應用程式工作階段,並在升級進行時重新啟動資料庫引擎。資料庫引擎重新啟動可能會導致輸送量下降,持續時間為數秒到一分鐘左右。

ZDP不適用於以下內容:

  • 作業系統 (OS) 修補程式與升級

  • 主要版本升級

ZDP適用於所有支援的 Aurora 我的SQL版本和資料庫執行個體類別。

ZDP不支援 Aurora Serverless v1 或 Aurora 全球數據庫。

注意

建議您在開發、測試伺服器或其他非生產伺服器時,僅使用 T 資料庫執行個體類別。如需詳細了解 T 執行個體類別,請參閱 使用 T 執行個體類別進行開發和測試

您可以在我的SQL錯誤日誌ZDP中查看重要屬性的指標。您也可以在「件」頁面ZDP上查看 Aurora My 何時SQL使用ZDP或選擇不使用的相關資訊。 AWS Management Console.

在 Aurora My 2.10 及更高SQL版本和版本 3 中,無論是否啟用二進位記錄複寫,Aurora 都可以執行零停機修補程式。如果啟用二進位記錄複寫,Aurora My SQL 會在ZDP作業期間自動中斷與 binlog 目標的連線。Aurora My SQL 會自動重新連線至 binlog 目標,並在重新啟動完成後繼續複寫。

ZDP也可以與 Aurora My SQL 2.10 及更高版本中的重新啟動增強功能結合使用。修補寫入器資料庫執行個體會同時自動修補讀取器。執行修補程式之後,Aurora 會恢復寫入器和讀取器資料庫執行個體上的連線。在 Aurora My SQL 2.10 之前,僅ZDP適用於叢集的寫入器資料庫執行個體。

ZDP在下列情況下,可能無法成功完成:

  • 長時間執行的查詢或交易正在進行中 如果 Aurora 可以ZDP在此情況下執行,則會取消任何開啟的交易,但會保留其連線。

  • 暫存資料表、使用者鎖定或資料表鎖定正在使用中,例如執行資料定義語言 (DDL) 陳述式時。Aurora 放棄這些連接。

  • 存在擱置中的參數變更。

如果因為這些條件中的一或多個而無法使用適合執ZDP行的時間範圍,修補會還原為標準行為。

注意

對於 Aurora 我的SQL版本 2 低於 2.11.0 以及低於 3.04.0 的版本 3,當開啟安全通訊端層 (SSL) 或傳輸層安全性 () 連線時,ZDP可能無法成功完成。TLS

雖然連接在成功ZDP操作後保持不變,但某些變數和特徵會重新初始化。下列類型的資訊在零停機修補所造成的重新啟動時不會保留:

  • 全域變數。Aurora 會恢復工作階段變數,但它不會在重新啟動後恢復全域變數。

  • 狀態變數。特別是,在使用ZDR或ZDP機制的重新啟動後,引擎狀態報告的正常運行時間值會重置。

  • LAST_INSERT_ID.

  • 資料表的記憶體內 auto_increment 狀態。記憶體內的自動增量狀態會重新初始化。如需有關自動遞增值的詳細資訊,請參閱我的SQL參考手冊

  • 來自 INFORMATION_SCHEMAPERFORMANCE_SCHEMA 資料表的診斷資訊。這項診斷資訊也會出現在 SHOW PROFILESHOW PROFILES 等命令的輸出中。

Events (事件) 頁面會報告下列與零停機時間重新啟動相關的活動:

  • 嘗試在零停機時間的情況下升級資料庫。

  • 嘗試在零停機時間的情況下升級資料庫已完成。事件會報告程序所花費的時間。此事件也會報告重新啟動期間保留的連線數目,以及已中斷的連線數目。您可以查閱資料庫錯誤日誌,瞭解重新啟動期間所發生情況的相關詳細資訊。