本頁面說明如何將資料遷移至執行較新版 MySQL 的執行個體。在繼續使用這個方法之前,請考慮就地升級資料庫主要版本。
您可以透過遷移資料,以兩種方式升級 Cloud SQL 適用的 MySQL 執行個體資料庫主要版本。
- 選項 1:使用資料庫移轉服務 (DMS)。DMS 支援從 Cloud SQL MySQL 執行個體遷移資料。您也可以使用它來升級 MySQL 版本。
- 選項 2:從目前的執行個體匯出資料,然後匯入該資料至執行較新版 MySQL 的新執行個體,即可將資料從一個 MySQL 版本移至另一個版本。這個程序會導致服務中斷,您必須先將目前的執行個體設為唯讀模式,才能開始匯出作業。
本頁面將說明第二個選項。
規劃主要版本升級作業
選擇目標主要版本。
請參閱 Cloud SQL 支援的版本清單。
請考量各個 MySQL 版本提供的功能,並解決不相容的問題。
新的主要版本會引入不相容的變更,因此您可能需要修改應用程式程式碼、結構定義或資料庫設定,才能升級資料庫執行個體。請查看目標主要版本的版本資訊,判斷需要解決的不相容性問題。如果您跳過主要版本,請解決跳過的每個版本中列出的不相容性問題。
如果您要從 MySQL 5.7 升級至 8.0,請檢查 MySQL 8.0 中的使用者授權變更。
MySQL 適用的 Cloud SQL 8.0 版本會使用名為
partial_revokes
的新系統旗標,預設會設為ON
。與 MySQL 5.7 不同,這個旗標會移除在資料庫GRANT
指令中使用萬用字元的能力。為確保資料庫使用者能存取正確的資料庫結構定義,請在升級至 MySQL 8.0 前修改資料庫使用者權限。更新使用者的權限,以便使用必要資料庫結構定義的完整名稱,而非使用萬用字元。如要進一步瞭解此標記在 MySQL 8.0 中的運作方式,請參閱「MySQL 8.0 中的 partial_revokes」。
以模擬測試來測試升級。
在升級正式資料庫前,請先使用測試例項進行端對端升級程序的模擬執行。建議您使用副本 (而非正式版資料庫) 測試升級,以免匯出作業對正式工作負載造成任何效能影響。
除了驗證升級是否成功完成,您還應執行測試,確保應用程式在升級後的資料庫中運作正常。如果您尚未啟用自動增加儲存空間功能,請記下升級的模擬執行例所使用的磁碟儲存空間,以便判斷是否需要在升級前增加正式執行例的儲存空間容量。
決定升級時機。
遷移資料
如要將資料遷移至執行較新資料庫版本的 Cloud SQL 執行個體,請按照下列步驟操作:
使用目標資料庫主要版本建立執行個體。
確定目標執行個體:
- 儲存空間足以容納目前執行個體的所有資料。
- 與目前執行個體相同的授權網路。瞭解詳情。
- 擁有相同的使用者帳戶,且帳戶具有相同的 MySQL 權限與密碼。
詳情請參閱「建立執行個體」。
確認您可以使用本機 MySQL 工具連線至新執行個體,並視需要進行更新。
將
read_only
資料庫標記設為On
,讓目前的 Cloud SQL 執行個體進入唯讀模式。詳情請參閱「設定資料庫標記」。
按照「匯出資料以匯入至 Cloud SQL」中的操作說明,將目前執行個體的資料匯出至 SQL 傾印檔案。
請「勿」匯出
mysql
系統資料庫。視需要建立 Cloud Storage 值區,並將 SQL 傾印檔案上傳至值區。
按照「從 Cloud Storage 匯入 MySQL 資料庫」中的操作說明,將資料匯入目標執行個體。
(非必要) 完成升級程序後,請使用外部伺服器,在來源和目標執行個體之間設定複寫作業,以便更新目標,並納入自初始傾印作業開始以來發生的所有變更。兩個執行個體同步後,您就可以升級目標執行個體。
如要瞭解如何使用外部伺服器實作持續複製功能,請參閱「從外部伺服器複製」一文。
更新應用程式,以連線至新執行個體。
當您確定新的執行個體能夠正常運作時,請刪除舊的執行個體。
後續步驟
- 瞭解影響升級至 MySQL 8.4 的變更。
- 瞭解影響升級至 MySQL 8.0 的變更。
- 瞭解影響升級至 MySQL 5.7 的變更。
- 瞭解資料庫移轉服務。
- 瞭解匯入及匯出資料。
- 瞭解連線至執行個體的選項。
- 瞭解如何設定 MySQL 標記。