透過遷移資料升級資料庫主要版本

本頁面說明如何將資料遷移至執行較新版 MySQL 的執行個體。在繼續使用這個方法之前,請考慮就地升級資料庫主要版本

您可以透過遷移資料,以兩種方式升級 Cloud SQL 適用的 MySQL 執行個體資料庫主要版本。

  • 選項 1:使用資料庫移轉服務 (DMS)。DMS 支援從 Cloud SQL MySQL 執行個體遷移資料。您也可以使用它來升級 MySQL 版本。
  • 選項 2:從目前的執行個體匯出資料,然後匯入該資料至執行較新版 MySQL 的新執行個體,即可將資料從一個 MySQL 版本移至另一個版本。這個程序會導致服務中斷,您必須先將目前的執行個體設為唯讀模式,才能開始匯出作業。

本頁面將說明第二個選項。

規劃主要版本升級作業

  1. 選擇目標主要版本。

    請參閱 Cloud SQL 支援的版本清單

  2. 請考量各個 MySQL 版本提供的功能,並解決不相容的問題。

    新的主要版本會引入不相容的變更,因此您可能需要修改應用程式程式碼、結構定義或資料庫設定,才能升級資料庫執行個體。請查看目標主要版本的版本資訊,判斷需要解決的不相容性問題。如果您跳過主要版本,請解決跳過的每個版本中列出的不相容性問題。

  3. 如果您要從 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」。

  4. 以模擬測試來測試升級。

    在升級正式資料庫前,請先使用測試例項進行端對端升級程序的模擬執行。建議您使用副本 (而非正式版資料庫) 測試升級,以免匯出作業對正式工作負載造成任何效能影響。

    除了驗證升級是否成功完成,您還應執行測試,確保應用程式在升級後的資料庫中運作正常。如果您尚未啟用自動增加儲存空間功能,請記下升級的模擬執行例所使用的磁碟儲存空間,以便判斷是否需要在升級前增加正式執行例的儲存空間容量。

  5. 決定升級時機。

遷移資料

如要將資料遷移至執行較新資料庫版本的 Cloud SQL 執行個體,請按照下列步驟操作:

  1. 使用目標資料庫主要版本建立執行個體。

    確定目標執行個體:

    • 儲存空間足以容納目前執行個體的所有資料。
    • 與目前執行個體相同的授權網路。瞭解詳情
    • 擁有相同的使用者帳戶,且帳戶具有相同的 MySQL 權限與密碼。

    詳情請參閱「建立執行個體」。

  2. 確認您可以使用本機 MySQL 工具連線至新執行個體,並視需要進行更新。

  3. read_only 資料庫標記設為 On,讓目前的 Cloud SQL 執行個體進入唯讀模式。

    詳情請參閱「設定資料庫標記」。

  4. 按照「匯出資料以匯入至 Cloud SQL」中的操作說明,將目前執行個體的資料匯出至 SQL 傾印檔案。

    請「勿」匯出 mysql 系統資料庫。

  5. 視需要建立 Cloud Storage 值區,並將 SQL 傾印檔案上傳至值區。

  6. 按照「從 Cloud Storage 匯入 MySQL 資料庫」中的操作說明,將資料匯入目標執行個體。

  7. (非必要) 完成升級程序後,請使用外部伺服器,在來源和目標執行個體之間設定複寫作業,以便更新目標,並納入自初始傾印作業開始以來發生的所有變更。兩個執行個體同步後,您就可以升級目標執行個體。

    如要瞭解如何使用外部伺服器實作持續複製功能,請參閱「從外部伺服器複製」一文。

  8. 更新應用程式,以連線至新執行個體。

  9. 當您確定新的執行個體能夠正常運作時,請刪除舊的執行個體。

後續步驟