使用 Percona XtraBackup 實體檔案遷移資料庫

透過 Percona XtraBackup for MySQL 公用程式建立實體資料庫備份檔案之後,您可以使用該檔案將 MySQL 資料庫移轉至 Cloud SQL。相較於使用邏輯備份檔案,使用實體備份檔案移轉資料庫的還原速度更快,因此非常適合用於移動內含數 TB 資料的大型資料庫。

這項移轉流程中有下列步驟:

  1. 備份來源 MySQL 執行個體,並使用 Percona XtraBackup for MySQL 公用程式準備實體備份檔案。

  2. 將備份檔案上傳至 Cloud Storage bucket。

  3. 在資料庫移轉服務建立及執行移轉工作。

    視情況而定,您可以自行建立目的地執行個體,也可以在建立遷移工作時,讓資料庫遷移服務為您建立目的地執行個體。詳情請參閱「設定及執行遷移作業」步驟。

  4. 在資料完整移轉後推送移轉工作。

離線遷移

本指南說明環境的遷移情境,您可確保來源和目的地資料庫執行個體之間的網路連線。

您可以執行測試遷移作業,但資料庫移轉服務不會連線至來源執行個體。資料庫遷移服務只會讀取您上傳至 Cloud Storage 值區的備份檔案,並將內容複製到 MySQL 適用的 Cloud SQL 目的地。不使用網路連線的遷移流程不建議用於實際工作環境遷移作業,因為資料庫遷移服務無法完整執行資料驗證。

如要嘗試執行離線遷移作業,請按照下列方式調整程序:

限制

本節列出使用 Percona XtraBackup 實體檔案進行移轉的限制:

  • 不支援使用實體備份檔案遷移至 MySQL 5.6 或 8.4。 請參閱「已知限制」。

  • 跨版本注意事項:

    • 您只能在相同資料庫主要版本內遷移,例如從 MySQL 8.0.30 遷移至 MySQL 8.0.35,或是從 MySQL 5.7.0 遷移至 MySQL 5.7.1。
    • 您無法從 MySQL 5.7 遷移至 MySQL 8.0。

    • 系統不支援遷移至較舊的資料庫主要或次要版本。 舉例來說,您無法從 MySQL 8.0 遷移至 5.7,也無法從 MySQL 8.0.36 遷移至 8.0.16。

  • 跨架構考量:Cloud SQL 支援 ARM 架構。您只能在架構類型相同的機器之間遷移資料庫。舉例來說,如果資料庫是代管在 ARM64 電腦上,就必須遷移至 ARM64 電腦。

  • 目的地資料庫的磁碟大小必須等於或大於來源資料庫大小。詳情請參閱 Cloud SQL 版本的 MySQL 機器類型

  • 您必須使用 Percona XtraBackup 將資料備份到 Cloud Storage 值區。系統不支援其他備份公用程式。

  • 從 Percona XtraBackup 實體檔案遷移資料庫,僅適用於地端或自行管理的 VM MySQL 資料庫。不支援從 Amazon Aurora 或 Amazon RDS 資料庫上的 MySQL 遷移。

  • 你只能從完整備份還原資料。系統不支援其他備份類型,例如增量或部分備份。

  • 資料庫遷移作業不會包含資料庫使用者或權限。

  • 您必須將二進位記錄格式設為 ROW。如果將二進位記錄設定為任何其他格式 (例如 STATEMENTMIXED),複製作業可能會失敗。

  • 如果資料庫的資料表超過 5 TB,系統就不支援。

  • Cloud Storage 限制上傳至 bucket 的檔案大小為 5 TB。 如果 Percona XtraBackup 實體檔案超過 5 TB,則必須將備份檔案分割成多個小型檔案。

  • 請務必將備份檔案上傳至專用的 Cloud Storage 資料夾,當中不得有其他檔案。

  • 您必須使用預設資料檔案名稱 ibdata1,只為 innodb_data_file_path 參數設定一個資料檔案。如果資料庫設定了兩個資料檔案,或是資料檔案的名稱不同,就無法使用 Percona XtraBackup 實體檔案移轉資料庫。舉例來說,系統不支援遷移以 innodb_data_file_path=ibdata01:50M:autoextend 設定的資料庫。

  • 來源執行個體上的 innodb_page_size 參數必須設定為預設值 16384

  • 您無法從外部資料庫遷移任何外掛程式。

費用

對於同質遷移作業,如果資料庫引擎的來源和目的地相同,不必支付額外費用即可使用資料庫移轉服務。不過,網路費用以及為遷移作業建立的 Cloud SQL 和 Cloud Storage 實體,都適用 Cloud SQL 和 Cloud Storage 定價。

在本文件中,您會使用 Google Cloud的下列計費元件:

  • Cloud Storage
  • Cloud SQL

如要根據預測用量估算費用,請使用 Pricing Calculator

初次使用 Google Cloud 的使用者可能符合免費試用資格。

事前準備

  1. 請考慮要在哪個區域建立目的地資料庫。資料庫遷移服務是完全區域性的產品,也就是說,與遷移作業相關的所有實體 (來源和目的地連線設定檔、遷移工作、目的地資料庫、儲存空間值區) 都必須儲存在單一區域。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Database Migration Service, Compute Engine, and Cloud SQL Admin APIs.

    Enable the APIs

必要的角色

如要取得使用實體備份檔案執行同質 MySQL 遷移作業所需的權限,請要求管理員將專案的下列 IAM 角色授予您:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這些預先定義角色具備使用實體備份檔案執行同質 MySQL 遷移作業所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要使用實體備份檔案執行同質 MySQL 遷移作業,必須具備下列權限:

  • 執行遷移作業的使用者帳戶:
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

步驟 1:考量網路連線需求

您可以使用不同的網路方法,設定來源和 Cloud SQL 目的地執行個體之間的連線。視您使用的方法而定,遷移過程中可能需要執行其他步驟。

請先考量哪種連線方法適合您的情境,再繼續下一個步驟,因為您的選擇可能會影響需要使用的設定。詳情請參閱「 設定連線」。

步驟 2:準備來源資料

為準備要移轉的資料,請執行下列步驟:

  1. 在來源執行個體安裝合適的 Percona XtraBackup 公用程式版本。您必須使用與來源執行個體版本相同或更新的 Percona XtraBackup 版本。 詳情請參閱 Percona XtraBackup 說明文件中的「 伺服器版本和備份版本比較」。
  2. 使用 Percona XtraBackup 匯出並準備來源執行個體的實體備份檔案。如需 Percona XtraBackup 的完整使用資訊,請參閱該工具的 說明文件。您也可以展開下方章節,查看建議步驟的範例。

    使用 Percona XtraBackup 建立及準備實體備份檔案的建議步驟範例

    使用下方的任何指令資料之前,請先替換以下項目:

    • TARGET_DIR,並指定要儲存輸出備份檔案的路徑。
    • USERNAME,並在來源執行個體中具備 BACKUP_ADMIN 權限。
    • PASSWORD,並輸入 USERNAME 帳戶的密碼。
    1. 對來源執行個體執行完整實體備份。執行下列指令:
        xtrabackup --backup \
          --target-dir=TARGET_DIR \
          --user=USERNAME \
          --password=PASSWORD
            
    2. 備份檔案準備就緒後,請使用 --prepare 指令確保檔案一致性。執行下列指令:
        xtrabackup --prepare --target-dir=TARGET_DIR
            
  3. 建立 bucket 來儲存備份檔案。請確認您使用的區域,正是打算建立目的地 MySQL 適用的 Cloud SQL 執行個體處。

    資料庫移轉服務是完全區域性的產品,也就是說,所有與移轉相關的實體 (來源和目的地連線設定檔、移轉工作、目的地資料庫、備份檔案的儲存空間值區) 都必須儲存在單一區域。

  4. 將備份檔案上傳至 Cloud Storage bucket。請務必將備份檔案上傳至專用的 Cloud Storage 資料夾,當中不得有其他檔案。請參閱 Cloud Storage 說明文件中的「 從檔案系統上傳物件」。
  5. 為來源資料庫執行個體建立來源連線設定檔。

    控制台

    如要建立來源連線設定檔,請按照下列步驟操作:

    1. 前往 Google Cloud 控制台的「連線設定檔」頁面。
    2. 按一下 Create profile
    3. 在「建立連線設定檔」頁面中,從「資料庫引擎」下拉式選單選取「MySQL」
    4. 在「連線設定檔名稱」欄位中,輸入連線設定檔的易讀名稱。這個值會顯示在連線設定檔清單中。
    5. 保留系統自動產生的「連線設定檔 ID」
    6. 輸入主機名稱IP 位址
      • 如果來源資料庫是託管於 Google Cloud,或是使用反向 SSH 通道將目的地資料庫連線至來源資料庫,請指定來源資料庫的私人 (內部) IP 位址。Cloud SQL 目的地可存取這個位址。詳情請參閱 使用虛擬私有雲對等互連設定連線

        如要使用其他連線方式 (例如 IP 許可清單),請提供公開 IP 位址。

    7. 輸入用來存取主機的通訊埠。MySQL 預設通訊埠為 3306。
    8. 輸入目標資料庫的使用者名稱和密碼。 使用者帳戶必須具備存取資料的必要權限。 詳情請參閱「 設定來源資料庫」。
    9. 在頁面的「連線設定檔區域」部分,選取要儲存連線設定檔的區域。
    10. 選用:如果連線是透過公開網路建立 (使用 IP 許可清單),建議您在來源和目的地資料庫之間的連線使用 SSL/TLS 加密。

      您可以在頁面的「保護連線安全」部分,選取下列三種 SSL/TLS 設定選項:

      1. 無:Cloud SQL 目的地執行個體會連線至來源資料庫,且不進行加密。
      2. 僅限伺服器驗證:Cloud SQL 目的地執行個體連線至來源資料庫時,執行個體會驗證來源,確保執行個體安全連線至正確的主機。這可防止中間人攻擊。如果是僅限伺服器的驗證,來源不會驗證執行個體。

        如要使用僅限伺服器的驗證,您必須提供憑證授權單位 (CA) 的 x509 PEM 編碼憑證,該憑證用於簽署外部伺服器的憑證。

      3. 伺服器與用戶端驗證:目的地執行個體連線至來源時,執行個體會驗證來源,來源也會驗證執行個體。

        伺服器與用戶端驗證機制可提供最完善的安全防護機制。不過,如果您不想在建立 Cloud SQL 目的地執行個體時提供用戶端憑證和私密金鑰,仍可使用僅限伺服器的驗證。

        如要使用伺服器與用戶端驗證,您必須在建立目的地連線設定檔時提供下列項目:

        • 簽署來源資料庫伺服器憑證的 CA 憑證。
        • 執行個體用來驗證來源資料庫伺服器的憑證 (用戶端憑證)。
        • 與用戶端憑證相關聯的私密金鑰 (用戶端金鑰)。
    11. 按一下「建立」。 連線設定檔已建立完成。

    gcloud

    這個範例使用選用的 --no-async 標記,因此所有作業都會同步執行。也就是說,部分指令可能需要一段時間才能完成。您可以略過 --no-async 標記,以非同步方式執行指令。如果有的話,您需要使用 gcloud database-migration operations describe 指令,確認作業是否成功。

    使用下方的任何指令資料之前,請先替換以下項目:

    • CONNECTION_PROFILE_ID,其中包含連線設定檔的機器可讀取 ID。
    • REGION,其中 REGION 是要儲存連線設定檔的區域 ID。
    • HOST_IP_ADDRESS,並提供資料庫移轉服務可連線至來源資料庫執行個體的 IP 位址。這個值可能會因您用於遷移的 連線方法而異。
    • PORT_NUMBER,並輸入來源資料庫接受連入連線的通訊埠編號。MySQL 預設通訊埠為 3306。
    • USERNAME,並填入資料庫使用者帳戶名稱,資料庫移轉服務會以該帳戶連線至來源資料庫執行個體。
    • PASSWORD,並輸入資料庫使用者帳戶的密碼。
    • (選用) CONNECTION_PROFILE_NAME 為連線設定檔提供使用者容易理解的名稱。這個值會顯示在 Google Cloud 控制台中。

    執行下列指令:

    Linux、macOS 或 Cloud Shell

    gcloud database-migration connection-profiles \
    create mysql CONNECTION_PROFILE_ID \
      --no-async \
      --region=REGION \
      --host=HOST_IP_ADDRESS \
      --port=PORT_NUMBER \
      --username=USERNAME \
      --password=PASSWORD \
      --display-name=CONNECTION_PROFILE_NAME

    Windows (PowerShell)

    gcloud database-migration connection-profiles `
    create mysql CONNECTION_PROFILE_ID `
      --no-async `
      --region=REGION `
      --host=HOST_IP_ADDRESS `
      --port=PORT_NUMBER `
      --username=USERNAME `
      --password=PASSWORD `
      --display-name=CONNECTION_PROFILE_NAME

    Windows (cmd.exe)

    gcloud database-migration connection-profiles ^
    create mysql CONNECTION_PROFILE_ID ^
      --no-async ^
      --region=REGION ^
      --host=HOST_IP_ADDRESS ^
      --port=PORT_NUMBER ^
      --username=USERNAME ^
      --password=PASSWORD ^
      --display-name=CONNECTION_PROFILE_NAME

    您應該會收到類似以下的回應:

    Waiting for connection profile [CONNECTION_PROFILE_ID]
    to be created with [OPERATION_ID]
    
    Waiting for operation [OPERATION_ID] to complete...done.
    
    Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
    

步驟 3:設定及執行遷移工作

使用 Percona XtraBackup 遷移時,您可以自行建立 Cloud SQL 目的地執行個體,也可以讓資料庫移轉服務為您建立。詳情請參閱 遷移工作建立總覽

這兩種方法需要遵循的程序略有不同。使用下拉式選單,顯示與您情境相關的程序:

  • 如要讓資料庫移轉服務為您建立目的地資料庫,請選取「遷移至新的目的地執行個體」
  • 如要遷移至在資料庫遷移服務外部建立的目的地資料庫,請選取「遷移至現有目的地執行個體」

  • 遷移至新的目的地執行個體時,資料庫移轉服務會在建立遷移作業流程期間,為您建立目的地 MySQL 適用的 Cloud SQL 執行個體。

    步驟 3a. 建立遷移工作,將資料遷移至新的目的地執行個體

    如要建立遷移工作,將資料遷移至新的目的地執行個體,請按照下列步驟操作:

    控制台

    定義遷移工作設定

    1. 前往 Google Cloud 控制台的「遷移作業」頁面。

      前往「遷移工作」

    2. 按一下「建立遷移工作」

      遷移工作設定精靈頁面隨即會開啟。 這個精靈包含多個面板,可引導您完成每個設定步驟。

      您可以隨時按一下「儲存並結束」,暫停建立遷移工作。您輸入的所有資料都會儲存為遷移工作草稿。您之後可以完成草稿遷移工作。

    3. 在「開始使用」頁面中輸入下列資訊:
      1. 遷移工作名稱

        這是遷移工作的可理解文字名稱。這個值會顯示在 Google Cloud 控制台中。

      2. 遷移工作 ID

        這是遷移工作的機器可讀取 ID。 您可以使用這個值,透過資料庫移轉服務 Google Cloud CLI 指令或 API,處理移轉作業。

      3. 在「來源資料庫引擎」清單中,選取「MySQL」

        「目的地資料庫引擎」欄位會自動填入,無法變更。

      4. 選取要儲存遷移工作的區域。

        資料庫移轉服務是完全區域性的產品,也就是說,與遷移作業相關的所有實體 (來源和目的地連線設定檔、遷移工作、目的地資料庫) 都必須儲存在單一區域。根據需要資料的服務 (例如 Compute Engine 執行個體或 App Engine 應用程式) 和其他服務的位置選取區域。選擇目的地國家/地區後,就無法變更這項設定。

    4. 按一下 [儲存並繼續]

    指定來源連線設定檔的相關資訊

    1. 在「定義來源」頁面中,執行下列步驟:
      1. 在「來源連線設定檔」下拉式選單中,選取來源資料庫的連線設定檔。
      2. 在「自訂完整傾印設定」部分中,按一下「編輯設定」
      3. 在「Edit full dump configuration」(編輯完整傾印設定) 面板中,從「Full dump method」(完整傾印方法) 下拉式選單選取「Physical based」(以實體為準)
      4. 在「提供資料夾」中,按一下「瀏覽」,然後選取您上傳完整傾印檔案的資料夾 (「準備來源資料」一節中的步驟 3)。
      5. 按一下 [儲存]
    2. 按一下 [儲存並繼續]

    設定並建立目的地 Cloud SQL 執行個體

    1. 在「定義目的地」頁面中,從「目的地執行個體類型」下拉式選單選取「新執行個體」。定義所有相關設定:
      1. 在「Destination Instance ID」(目的地執行個體 ID) 欄位中,提供 Cloud SQL 執行個體的 ID,或使用系統自動產生的 ID。

        請勿在 ID 中加入敏感或個人識別資訊。您不需要在執行個體名稱中包含專案 ID,系統會在適當地方 (例如在記錄檔中) 自動加入。

      2. 在「Password」(密碼) 欄位中,為目的地 Cloud SQL 執行個體提供英數密碼。這是執行個體中 root 管理員帳戶的密碼。

        您可以手動輸入密碼,也可以按一下「產生」,讓資料庫移轉服務自動建立密碼。

      3. 從「資料庫版本」下拉式選單中,選擇目的地執行個體的資料庫版本。

        按一下「顯示子版本」即可查看所有子版本。 進一步瞭解跨版本遷移支援。

      4. 為目的地執行個體選取 MySQL 適用的 Cloud SQL 版本。 您有兩個選項:Cloud SQL for MySQL Enterprise 版Cloud SQL for MySQL Enterprise Plus 版

        MySQL 適用的 Cloud SQL 版本提供不同的功能組合、可用機器類型和價格。請務必參閱 Cloud SQL 說明文件,選擇適合您需求的版本。詳情請參閱 MySQL 適用的 Cloud SQL 版本簡介

      5. 「地區」選單會顯示您在「開始使用」頁面選取的地區。

        如要設定高可用性執行個體,請選取「Multiple zones (Highly available)」(多可用區 (可用性高))。您可以選取主要和次要區域。 在建立執行個體時使用次要可用區,須符合下列條件:

        • 主要可用區預設為「不限」,次要可用區則預設為「不限 (與主要可用區不同)」
        • 如果同時指定主要和次要可用區,這兩個可用區不得相同。
      6. 在「連線」部分,選擇要為目的地執行個體新增公開或私人 IP 位址。您可以將執行個體設定為同時擁有這兩種類型的 IP 位址,但遷移作業至少需要其中一種。選取下列其中一個選項:
        • 如要使用虛擬私有雲對等互連或反向 SSH 通道遷移資料,請選取「私人 IP」
          • 如要啟用私人 IP 連線,請務必符合所有額外的網路需求。

            展開這個部分即可查看完整的私人 IP 規定。

          • 選取要建立對等互連的相關聯虛擬私有雲網路。如要透過虛擬私有雲對等互連連線至遷移作業來源,請選擇執行個體所在的虛擬私有雲。
          • 如果所選 VPC 從未設定受管理服務網路,您可以選擇選取 IP 範圍並點選「連線」,或使用系統自動選取的 IP 範圍並點選「分配並連線」
        • 如要透過網際網路使用 IP 許可清單遷移資料,請選取「公開 IP」

          (選用) 在「公開 IP」下方,按一下「授權網路」欄位,然後授權網路或 Proxy 連線至 Cloud SQL 執行個體。網路只能透過您提供的位址取得授權。請參閱 Cloud SQL 說明文件中的「設定公開 IP」。

        您會在後續步驟中設定遷移工作連線。 如要進一步瞭解可用的網路方法,請參閱「 設定連線」。

    2. 選取 Cloud SQL 執行個體的機器類型。

      詳情請參閱「限制」一節。

    3. MySQL 適用的 Cloud SQL Enterprise Plus 版:如要在目的地資料庫中使用資料快取功能,請選取「啟用資料快取」核取方塊。

      資料快取是 MySQL 適用的 Cloud SQL Enterprise Plus 版本執行個體的選用功能,可為目標資料庫新增高速本機固態硬碟。這項功能可能會導致 Cloud SQL 產生額外費用。如要進一步瞭解資料快取,請參閱 Cloud SQL 說明文件中的「資料快取總覽」。

    4. 指定 Cloud SQL 執行個體的儲存空間類型。您可以選擇 固態硬碟 (SSD) 或硬碟 (HDD)
    5. 指定 Cloud SQL 執行個體的儲存空間容量 (以 GB 為單位)。

      請確保執行個體有足夠的儲存空間容量,可處理來源資料庫的資料。您隨時可以提高容量,但無法降低。

    6. (選用) 設定目的地執行個體的資料加密選項或資源標籤

      展開這個部分即可查看選用步驟。

      按一下「顯示選用設定」,然後:

      1. 指定是否要管理從來源遷移至目的地的資料加密作業。根據預設,您的資料會以 Google Cloud代管的金鑰加密。如要自行管理加密作業,您可以使用客戶自行管理的加密金鑰 (CMEK)。方法如下:

        1. 選取「使用客戶自行管理的加密金鑰 (CMEK)」核取方塊。
        2. 在「Select a customer-managed key」(選取客戶管理的金鑰) 選單中,選取 CMEK。

        如果找不到所需金鑰,請按一下「輸入金鑰資源名稱」,然後提供要使用的金鑰資源名稱。 金鑰資源名稱範例: projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key

      2. 新增要套用到資料庫伺服器的任何必要旗標。 如有可能,請確保所建立目的地 Cloud SQL 執行個體的資料庫旗標,與來源資料庫的旗標相同。進一步瞭解 MySQL 支援的資料庫標記。
      3. 新增 Cloud SQL 執行個體專屬的 標籤

        標籤可以協助您管理執行個體。舉例來說,您可以按照成本中心或環境將標籤分門別類。帳單中也會顯示標籤,讓您瞭解標籤的成本分布情形。

    7. 按一下「建立目的地並繼續」。 資料庫移轉服務正在建立 Cloud SQL 目的地執行個體。 這項作業可能需要幾分鐘才能完成。

    設定來源與目的地資料庫執行個體之間的連線

    從「連線方式」下拉式選單中,選取網路連線方式。這個方法可定義新建立的 Cloud SQL 執行個體連線至來源資料庫的方式。目前的網路連線方法包括 IP 許可清單、反向 SSH 通道和虛擬私有雲對等互連

    如要使用...具體做法
    IP 許可清單網路連線方式, 您需要指定目的地執行個體的傳出 IP 位址。如果您建立的 Cloud SQL 執行個體是高可用性執行個體,請同時加入主要和次要執行個體的傳出 IP 位址。
    反向安全殼層通道網路連線方法。 您需要選取將託管通道的 Compute Engine VM 執行個體。

    指定執行個體後,Google 會提供指令碼,執行在來源和目的地資料庫之間設定通道的步驟。您需要在 Google Cloud CLI 中執行指令碼。

    在可連線至來源資料庫和 Google Cloud的機器中執行指令。

    虛擬私有雲對等互連網路連線方式 您需要選取來源資料庫所在的虛擬私有雲網路。系統會更新 Cloud SQL 執行個體,以連線至這個網路。

    選取並設定網路連線後,按一下「設定並繼續」

    建立遷移工作

    在「測試及建立遷移工作」頁面,確認遷移工作的設定。此時測試遷移工作會失敗,因為與 Cloud SQL 目的地執行個體相關聯的服務帳戶沒有必要權限。

    測試工作前,請先執行下列其中一項動作,驗證工作設定:

    • 將權限指派給目的地執行個體服務帳戶後,如要使用 Google Cloud 控制台 測試遷移作業,請按一下「儲存並結束」。 這項操作會將遷移工作儲存為草稿。您可以稍後再返回這個畫面,測試並執行移轉工作。
    • 如要在將權限指派給目標執行個體服務帳戶後,使用 Google Cloud CLI 測試遷移作業,請按一下「建立」。使用 Google Cloud CLI,您可以測試已建立但尚未啟動的遷移作業。

    gcloud

    1. 建立目的地連線設定檔。
      使用 Google Cloud CLI 遷移至新的目的地執行個體時,您可以在單一動作中建立目的地執行個體和連線設定檔。
      執行下列指令 (按一下連結即可展開):

      gcloud database-migration connection-profiles create cloudsql

      這個範例使用選用的 --no-async 標記,因此所有作業都會同步執行。也就是說,部分指令可能需要一段時間才能完成。您可以略過 --no-async 標記,以非同步方式執行指令。如果有的話,您需要使用 gcloud database-migration operations describe 指令,確認作業是否成功。

      使用下方的任何指令資料之前,請先替換以下項目:

      • CONNECTION_PROFILE_ID,其中包含連線設定檔的機器可讀取 ID。
      • DATABASE_VERSION,並指定要在目的端執行個體中使用的 MySQL 版本。資料庫版本會指定為包含主要和次要版本的字串。例如:MYSQL_8_0MYSQL_8_0_32MYSQL_8_0_36

        如要瞭解所有可能的 MySQL 版本,請參閱 --database-version 標記參考資料

      • (選用) EDITION 根據預設,您使用 Google Cloud CLI 建立的新執行個體會使用 Cloud SQL for MySQL Enterprise Plus 版。如果您打算使用 MySQL 適用的 Cloud SQL Enterprise Plus 版本,請確認您所在的區域支援該版本。請參閱 Cloud SQL for MySQL Enterprise Plus 版支援的區域

        您可以使用 --edition 旗標和下列其中一個值來變更版本:

        • MySQL 適用的 Cloud SQL Enterprise Plus 版本enterprise-plus
        • 適用於 MySQL 適用的 Cloud SQL Enterprise 版本enterprise
      • TIER,並填入要使用的 Cloud SQL 機型名稱。 機器類型會指定為遵循 Cloud SQL 慣例的字串,例如 db-n1-standard-1db-perf-optimized-N-2。如要查看可用的機器類型完整清單,以及搭配 Google Cloud CLI 使用的 ID,請參閱 Cloud SQL for MySQL 說明文件中的「 機器類型」。

        使用 Google Cloud CLI 建立的執行個體預設會使用 MySQL 適用的 Cloud SQL Enterprise Plus 版本,該版本提供不同的機器類型。如要使用僅適用於 Cloud SQL for MySQL Enterprise 版本的機器類型,請使用選用的 --edition=enterprise 旗標指定版本。

      • REGION,並指定要儲存連線設定檔的區域 ID。

        依預設,使用 Google Cloud CLI 建立的新執行個體會使用 Cloud SQL for MySQL Enterprise Plus 版。如果您打算使用 MySQL 適用的 Cloud SQL Enterprise Plus 版本,請確認您的區域支援該版本。請參閱 Cloud SQL for MySQL Enterprise Plus 版支援的區域。您可以使用選用的 --edition 旗標變更版本。

      • (選用) CONNECTION_PROFILE_NAME 為連線設定檔提供使用者容易理解的名稱。這個值會顯示在 Google Cloud 控制台中。
      • 網路設定

        根據預設,使用 Google Cloud CLI 建立的新執行個體會指派公開 IP 位址,並設定為使用公開 IP 連線。你可以使用其他連線方式。 詳情請參閱設定連線

        如要使用公開 IP 連線,不需要使用其他旗標。如要透過虛擬私有雲網路對等互連或反向 SSH 通道使用私人 IP 連線,請務必符合下列啟用私人 IP 連線的其他網路需求,並在指令中加入其他標記。

        展開這個部分即可查看完整的私人 IP 規定。

        如要使用私人 IP 連線 (透過虛擬私有雲網路對等互連透過 Compute Engine VM 上的反向 SSH 通道),請加入下列額外標記:

        • --no-enable-ip-v4:(選用) 不要將公開 IP 位址指派給目的地執行個體。您可以為目的地執行個體指派公開和私人 IP 位址,但如果您使用私人 IP 連線,可能就不需要公開 IP 位址。
        • --private-network:如要將私人 IP 位址指派給目的地執行個體,請指定要指派私人 IP 位址的虛擬私有雲名稱。

      執行下列指令:

      Linux、macOS 或 Cloud Shell

      gcloud database-migration connection-profiles \
      create mysql CONNECTION_PROFILE_ID \
        --no-async \
        --region=REGION \
        --database-version=DATABASE_VERSION \
        --tier=TIER \
        --display-name=CONNECTION_PROFILE_NAME

      Windows (PowerShell)

      gcloud database-migration connection-profiles `
      create mysql CONNECTION_PROFILE_ID `
        --no-async `
        --region=REGION `
        --database-version=DATABASE_VERSION `
        --tier=TIER `
        --display-name=CONNECTION_PROFILE_NAME

      Windows (cmd.exe)

      gcloud database-migration connection-profiles ^
      create mysql CONNECTION_PROFILE_ID ^
        --no-async ^
        --region=REGION ^
        --database-version=DATABASE_VERSION ^
        --tier=TIER ^
        --display-name=CONNECTION_PROFILE_NAME

      您應該會收到類似以下的回應:

      Waiting for connection profile [CONNECTION_PROFILE_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
      
    2. 完成網路設定。

      視您要使用的網路連線而定,您可能需要先完成其他步驟,才能建立遷移工作。

    3. 建立遷移工作。
      執行下列指令 (按一下連結即可展開):

      gcloud database-migration migration-jobs create

      這個範例使用選用的 --no-async 標記,因此所有作業都會同步執行。也就是說,部分指令可能需要一段時間才能完成。您可以略過 --no-async 標記,以非同步方式執行指令。如果有的話,您需要使用 gcloud database-migration operations describe 指令,確認作業是否成功。

      使用下方的任何指令資料之前,請先替換以下項目:

      • MIGRATION_JOB_ID,這是遷移工作的機器可讀取 ID。您可以使用這個值,透過資料庫移轉服務 Google Cloud CLI 指令或 API,處理移轉作業。
      • REGION,並將其替換為要儲存遷移工作的地區 ID。
      • MIGRATION_JOB_NAME,並為遷移工作提供可理解的名稱。這個值會顯示在 Google Cloud 控制台的資料庫移轉服務中。
      • SOURCE_CONNECTION_PROFILE_ID,並附上來源連線設定檔的機器可讀取 ID。
      • DESTINATION_CONNECTION_PROFILE_ID 目的地連線設定檔的機器可讀取 ID。
      • MIGRATION_JOB_TYPE,並選取遷移工作類型。允許的值為 ONE_TIMECONTINUOUS。詳情請參閱 遷移類型
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES 並提供儲存在 Cloud Storage bucket 資料夾中的實體備份檔案路徑。 請使用下列格式: gs://<bucket_name>/<path_to_backup_file_folder>
      • 網路設定

        如果您使用虛擬私有雲網路對等互連或反向安全殼層通道的私人 IP 連線,請在指令中加入下列標記:

        透過虛擬私有雲網路對等互連建立私人 IP 連線
        使用 --peer-vpc 標記指定要建立對等互連的網路名稱。
        Compute Engine VM 上的反向 SSH 通道
        使用下列標記為 Compute Engine 提供網路詳細資料: --vm-ip, --vm-port, --vpc。您也可以使用選用的 --vm 旗標指定 VM 名稱。

        如需更多使用範例,請參閱 Google Cloud CLI 範例

      執行下列指令:

      Linux、macOS 或 Cloud Shell

      gcloud database-migration migration-jobs \
      create MIGRATION_JOB_ID \
        --no-async \
        --region=REGION \
        --display-name=MIGRATION_JOB_NAME \
        --source=SOURCE_CONNECTION_PROFILE_ID \
        --destination=DESTINATION_CONNECTION_PROFILE_ID \
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      create MIGRATION_JOB_ID `
        --no-async `
        --region=REGION `
        --display-name=MIGRATION_JOB_NAME `
        --source=SOURCE_CONNECTION_PROFILE_ID `
        --destination=DESTINATION_CONNECTION_PROFILE_ID `
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      create MIGRATION_JOB_ID ^
        --no-async ^
        --region=REGION ^
        --display-name=MIGRATION_JOB_NAME ^
        --source=SOURCE_CONNECTION_PROFILE_ID ^
        --destination=DESTINATION_CONNECTION_PROFILE_ID ^
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      您應該會收到類似以下的回應:

      Waiting for migration job [MIGRATION_JOB_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created migration job MIGRATION_JOB_ID [OPERATION_ID]
      

    步驟 3b. 將必要權限授予 Cloud SQL 執行個體服務帳戶

    建立遷移至新執行個體的工作時,資料庫移轉服務也會為您建立目的地 Cloud SQL 執行個體。如要執行遷移作業,請先為執行個體的服務帳戶指派 Cloud Storage 權限。

    如要將 Cloud Storage 權限授予與目的地執行個體相關聯的服務帳戶,請按照下列步驟操作:

    1. 在 Cloud SQL 執行個體詳細資料頁面,找出 Cloud SQL 執行個體的服務帳戶電子郵件地址,這個地址的格式如下:<project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com。 詳情請參閱 Cloud SQL 說明文件中的「 查看執行個體資訊」。
    2. 將「Storage 物件檢視者」(roles/storage.objectViewer) IAM 角色新增至服務帳戶。如要瞭解如何透過 Identity and Access Management 管理存取權,請參閱 IAM 說明文件中的「 管理專案、資料夾和機構的存取權」。

    步驟 3c. (選用) 測試遷移工作

    執行遷移工作前,您可以先執行測試作業,確認資料庫遷移服務是否能存取所有必要的來源和目的地實體。使用 gcloud CLI,您可以測試已建立但尚未啟動的遷移作業。

    控制台

    在 Google Cloud 控制台中,您只能測試在遷移工作建立精靈中建立的草稿遷移工作。如果您沒有將工作儲存為草稿,但已在精靈中完整建立工作,則只能使用 Google Cloud CLI 執行測試。

    如要測試草稿遷移工作,請按照下列步驟操作:

    1. 前往 Google Cloud 控制台的「遷移作業」頁面。

      前往「遷移工作」

    2. 在「草稿」分頁中,按一下要完成建立的遷移作業顯示名稱。

      系統會開啟遷移工作建立精靈。

    3. 在「測試及建立遷移工作」頁面中,按一下「測試工作」。 資料庫移轉服務現在會檢查目標執行個體是否具備所有必要權限,以及是否能連線至來源資料庫。
    4. 測試完成後,按一下「建立」

      遷移工作現已建立完成,可隨時開始執行。

    gcloud

    使用下方的任何指令資料之前,請先替換以下項目:

    • MIGRATION_JOB_ID,並提供遷移工作 ID。

      如果您不知道 ID,可以使用 gcloud database-migration migration-jobs list 指令列出特定區域中的所有遷移工作,並查看其 ID。

    • REGION,其中包含儲存連線設定檔的區域 ID。

    執行下列指令:

    Linux、macOS 或 Cloud Shell

    gcloud database-migration migration-jobs \
    verify MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    verify MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    verify MIGRATION_JOB_ID ^
      --region=REGION

    結果

    這項動作會以非同步方式執行。 因此,這項指令會傳回代表長期執行作業的「作業實體」

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: verify
    name: OPERATION_ID
    

    如要確認作業是否成功,可以查詢傳回的作業物件,或檢查遷移工作狀態:

    步驟 3d. 啟動遷移工作

    完全建立遷移工作後 (也就是說,工作未儲存為草稿狀態),您隨時可以啟動工作,開始遷移資料。

    如要啟動遷移作業,請按照下列步驟操作:

    控制台

    1. 前往 Google Cloud 控制台的「遷移作業」頁面。

      前往「遷移工作」

    2. 在「Jobs」分頁中,按一下要啟動的遷移工作顯示名稱。

      系統會開啟遷移工作詳細資料頁面。

    3. 按一下「啟動」
    4. 在對話方塊中,按一下「開始」

    gcloud

    使用下方的任何指令資料之前,請先替換以下項目:

    • MIGRATION_JOB_ID,並提供遷移工作 ID。

      如果您不知道 ID,可以使用 gcloud database-migration migration-jobs list 指令列出特定區域中的所有遷移工作,並查看其 ID。

    • REGION,其中包含儲存連線設定檔的區域 ID。

    執行下列指令:

    Linux、macOS 或 Cloud Shell

    gcloud database-migration migration-jobs \
    start MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    start MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    start MIGRATION_JOB_ID ^
      --region=REGION

    結果

    這項動作會以非同步方式執行。 因此,這項指令會傳回代表長期執行作業的「作業實體」

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: start
    name: OPERATION_ID
    

    如要確認作業是否成功,可以查詢傳回的作業物件,或檢查遷移工作狀態:


  • 如要遷移至現有目的地執行個體,請先建立及設定目的地執行個體。

    步驟 3a. 準備目的地執行個體

    如要設定目的地 Cloud SQL 執行個體,請完成下列步驟:

    1. 建立 MySQL 適用的 Cloud SQL 目的地執行個體。請務必使用足夠的運算和記憶體資源,以滿足遷移需求。請參閱 Cloud SQL 說明文件中的「建立執行個體」。

      視要用於遷移作業的連線方式而定,您可能需要在目的地執行個體中新增公開或私人 IP 位址。如要進一步瞭解連線方法,請參閱「 設定連線」。

    2. 將 Cloud Storage 權限授予與目的地執行個體相關聯的服務帳戶。目的地執行個體建立後即會建立這個帳戶。
      1. 在 Cloud SQL 執行個體詳細資料頁面,找出 Cloud SQL 執行個體的服務帳戶電子郵件地址,這個地址的格式如下:<project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com。 詳情請參閱 Cloud SQL 說明文件中的「 查看執行個體資訊」。
      2. 將「Storage 物件檢視者」 (roles/storage.objectViewer) IAM 角色新增至服務帳戶。如要瞭解如何透過 Identity and Access Management 管理存取權,請參閱 IAM 說明文件中的「 管理專案、資料夾和機構的存取權」。
    3. 為 Cloud SQL 執行個體建立目的地連線設定檔。

      控制台

      您不需要建立目的地連線設定檔。 在 Google Cloud 控制台中建立遷移工作時,您會使用目的地執行個體 ID,而資料庫遷移服務會為您管理連線設定檔。

      請繼續前往「 建立及執行遷移工作」一節。

      gcloud

      這個範例使用選用的 --no-async 標記,因此所有作業都會同步執行。也就是說,部分指令可能需要一段時間才能完成。您可以略過 --no-async 標記,以非同步方式執行指令。如果有的話,您需要使用 gcloud database-migration operations describe 指令,確認作業是否成功。

      使用下方的任何指令資料之前,請先替換以下項目:

      • CONNECTION_PROFILE_ID,其中包含連線設定檔的機器可讀取 ID。
      • REGION,其中 REGION 是要儲存連線設定檔的區域 ID。
      • DESTINATION_INSTANCE_ID 替換為目的地執行個體的執行個體 ID。
      • (選用) CONNECTION_PROFILE_NAME 為連線設定檔提供使用者容易理解的名稱。這個值會顯示在 Google Cloud 控制台中。

      執行下列指令:

      Linux、macOS 或 Cloud Shell

      gcloud database-migration connection-profiles \
      create mysql CONNECTION_PROFILE_ID \
        --no-async \
        --cloudsql-instance=DESTINATION_INSTANCE_ID \
        --region=REGION \
        --display-name=CONNECTION_PROFILE_NAME

      Windows (PowerShell)

      gcloud database-migration connection-profiles `
      create mysql CONNECTION_PROFILE_ID `
        --no-async `
        --cloudsql-instance=DESTINATION_INSTANCE_ID `
        --region=REGION `
        --display-name=CONNECTION_PROFILE_NAME

      Windows (cmd.exe)

      gcloud database-migration connection-profiles ^
      create mysql CONNECTION_PROFILE_ID ^
        --no-async ^
        --cloudsql-instance=DESTINATION_INSTANCE_ID ^
        --region=REGION ^
        --display-name=CONNECTION_PROFILE_NAME

      您應該會收到類似以下的回應:

      Waiting for connection profile [CONNECTION_PROFILE_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
      

    步驟 3b. 建立及執行遷移工作

    控制台

    定義遷移工作設定

    1. 前往 Google Cloud 控制台的「遷移作業」頁面。

      前往「遷移工作」

    2. 按一下「建立遷移工作」

      遷移工作設定精靈頁面隨即會開啟。 這個精靈包含多個面板,可引導您完成每個設定步驟。

      您可以隨時按一下「儲存並結束」,暫停建立遷移工作。您輸入的所有資料都會儲存為遷移工作草稿。您之後可以完成草稿遷移工作。

    3. 在「開始使用」頁面中輸入下列資訊:
      1. 遷移工作名稱

        這是遷移工作的可理解文字名稱。這個值會顯示在 Google Cloud 控制台中。

      2. 遷移工作 ID

        這是遷移工作的機器可讀取 ID。 您可以使用這個值,透過資料庫移轉服務 Google Cloud CLI 指令或 API,處理移轉作業。

      3. 在「來源資料庫引擎」清單中,選取「MySQL」

        「目的地資料庫引擎」欄位會自動填入,無法變更。

      4. 選取要儲存遷移工作的區域。

        資料庫移轉服務是完全區域性的產品,也就是說,與遷移作業相關的所有實體 (來源和目的地連線設定檔、遷移工作、目的地資料庫) 都必須儲存在單一區域。根據需要資料的服務 (例如 Compute Engine 執行個體或 App Engine 應用程式) 和其他服務的位置選取區域。選擇目的地國家/地區後,就無法變更這項設定。

    4. 按一下 [儲存並繼續]

    指定來源連線設定檔的相關資訊

    1. 在「定義來源」頁面中,執行下列步驟:
      1. 在「來源連線設定檔」下拉式選單中,選取來源資料庫的連線設定檔。
      2. 在「自訂完整傾印設定」部分中,按一下「編輯設定」
      3. 在「Edit full dump configuration」(編輯完整傾印設定) 面板中,從「Full dump method」(完整傾印方法) 下拉式選單選取「Physical based」(以實體為準)
      4. 在「提供資料夾」中,按一下「瀏覽」,然後選取您上傳完整傾印檔案的資料夾 (「準備來源資料」一節中的步驟 4)。
      5. 按一下 [儲存]
    2. 按一下 [儲存並繼續]

    選取目的地 Cloud SQL 執行個體

    1. 在「Type of destination instance」(目的地執行個體類型) 選單中,選取「Existing instance」(現有執行個體)
    2. 在「選取目的地執行個體」部分中,選取目的地執行個體。
    3. 查看「執行個體詳細資料」部分中的資訊,然後按一下「選取並繼續」
    4. 如要遷移至現有的目的地資料庫,資料庫移轉服務會降級目標執行個體,並將其轉換為副本。如要表明可以安全執行降級作業,請在確認視窗中輸入目標執行個體 ID。
    5. 按一下「確認並繼續」

    設定來源與目的地資料庫執行個體之間的連線

    從「連線方式」下拉式選單中,選取網路連線方式。這個方法可定義新建立的 Cloud SQL 執行個體連線至來源資料庫的方式。目前的網路連線方法包括 IP 許可清單、反向 SSH 通道和虛擬私有雲對等互連

    如要使用...具體做法
    IP 許可清單網路連線方式, 您需要指定目的地執行個體的傳出 IP 位址。如果您建立的 Cloud SQL 執行個體是高可用性執行個體,請同時加入主要和次要執行個體的傳出 IP 位址。
    反向安全殼層通道網路連線方法。 您需要選取將託管通道的 Compute Engine VM 執行個體。

    指定執行個體後,Google 會提供指令碼,執行在來源和目的地資料庫之間設定通道的步驟。您需要在 Google Cloud CLI 中執行指令碼。

    在可連線至來源資料庫和 Google Cloud的機器中執行指令。

    虛擬私有雲對等互連網路連線方式 您需要選取來源資料庫所在的虛擬私有雲網路。系統會更新 Cloud SQL 執行個體,以連線至這個網路。

    選取並設定網路連線後,按一下「設定並繼續」

    測試、建立及執行遷移工作

    在最後這個步驟中,請檢查遷移工作設定、來源、目的地和連線方式的摘要,然後測試遷移工作設定的有效性。如果遇到任何問題,可以修改遷移作業的設定。部分設定無法編輯。

    1. 在「測試及建立遷移工作」頁面中,按一下「測試工作」

      如果測試失敗,請在流程的適當部分解決問題,然後返回重新測試。如要瞭解如何排解遷移工作測試失敗的問題,請參閱「 診斷 MySQL 問題」。

    2. 遷移工作測試完成後,請點選「建立及啟動工作」

      遷移作業正在進行中。啟動遷移工作後,資料庫移轉服務會開始完整傾印,並短暫鎖定來源資料庫。

    gcloud

    如要設定及執行遷移作業,請按照下列步驟操作:

    1. 建立遷移工作。
      執行下列指令 (按一下連結即可展開):

      gcloud database-migration migration-jobs create

      這個範例使用選用的 --no-async 標記,因此所有作業都會同步執行。也就是說,部分指令可能需要一段時間才能完成。您可以略過 --no-async 標記,以非同步方式執行指令。如果有的話,您需要使用 gcloud database-migration operations describe 指令,確認作業是否成功。

      使用下方的任何指令資料之前,請先替換以下項目:

      • MIGRATION_JOB_ID,這是遷移工作的機器可讀取 ID。您可以使用這個值,透過資料庫移轉服務 Google Cloud CLI 指令或 API,處理移轉作業。
      • REGION,並將其替換為要儲存遷移工作的地區 ID。
      • MIGRATION_JOB_NAME,並為遷移工作提供可理解的名稱。這個值會顯示在 Google Cloud 控制台的資料庫移轉服務中。
      • SOURCE_CONNECTION_PROFILE_ID,並附上來源連線設定檔的機器可讀取 ID。
      • DESTINATION_CONNECTION_PROFILE_ID 目的地連線設定檔的機器可讀取 ID。
      • MIGRATION_JOB_TYPE,並選取遷移工作類型。允許的值為 ONE_TIMECONTINUOUS。詳情請參閱 遷移類型
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES 並提供儲存在 Cloud Storage bucket 資料夾中的實體備份檔案路徑。 請使用下列格式: gs://<bucket_name>/<path_to_backup_file_folder>
      • 網路設定

        如果您使用虛擬私有雲網路對等互連或反向安全殼層通道的私人 IP 連線,請在指令中加入下列標記:

        透過虛擬私有雲網路對等互連建立私人 IP 連線
        使用 --peer-vpc 標記指定要建立對等互連的網路名稱。
        Compute Engine VM 上的反向 SSH 通道
        使用下列標記為 Compute Engine 提供網路詳細資料: --vm-ip, --vm-port, --vpc。您也可以使用選用的 --vm 旗標指定 VM 名稱。

        如需更多使用範例,請參閱 Google Cloud CLI 範例

      執行下列指令:

      Linux、macOS 或 Cloud Shell

      gcloud database-migration migration-jobs \
      create MIGRATION_JOB_ID \
        --no-async \
        --region=REGION \
        --display-name=MIGRATION_JOB_NAME \
        --source=SOURCE_CONNECTION_PROFILE_ID \
        --destination=DESTINATION_CONNECTION_PROFILE_ID \
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      create MIGRATION_JOB_ID `
        --no-async `
        --region=REGION `
        --display-name=MIGRATION_JOB_NAME `
        --source=SOURCE_CONNECTION_PROFILE_ID `
        --destination=DESTINATION_CONNECTION_PROFILE_ID `
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      create MIGRATION_JOB_ID ^
        --no-async ^
        --region=REGION ^
        --display-name=MIGRATION_JOB_NAME ^
        --source=SOURCE_CONNECTION_PROFILE_ID ^
        --destination=DESTINATION_CONNECTION_PROFILE_ID ^
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      您應該會收到類似以下的回應:

      Waiting for migration job [MIGRATION_JOB_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created migration job MIGRATION_JOB_ID [OPERATION_ID]
      
    2. 降級 Cloud SQL 目的地執行個體。
      執行下列指令 (按一下連結即可展開):

      gcloud database-migration migration-jobs demote-destination

      使用下方的任何指令資料之前,請先替換以下項目:

      • MIGRATION_JOB_ID,並提供遷移工作 ID。

        如果您不知道 ID,可以使用 gcloud database-migration migration-jobs list 指令列出特定區域中的所有遷移工作,並查看其 ID。

      • REGION,其中包含儲存連線設定檔的區域 ID。

      執行下列指令:

      Linux、macOS 或 Cloud Shell

      gcloud database-migration migration-jobs \
      demote-destination MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      demote-destination MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      demote-destination MIGRATION_JOB_ID ^
        --region=REGION

      結果

      這項動作會以非同步方式執行。 因此,這項指令會傳回代表長期執行作業的「作業實體」

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: demote-destination
      name: OPERATION_ID
      

      如要確認作業是否成功,可以查詢傳回的作業物件,或檢查遷移工作狀態:

    3. (選用) 執行遷移工作測試
      您可以執行檢查,確認資料庫移轉服務是否能連上所有必要的來源和目的地實體。 執行下列指令 (按一下連結即可展開):

      gcloud database-migration migration-jobs verify

      使用下方的任何指令資料之前,請先替換以下項目:

      • MIGRATION_JOB_ID,並提供遷移工作 ID。

        如果您不知道 ID,可以使用 gcloud database-migration migration-jobs list 指令列出特定區域中的所有遷移工作,並查看其 ID。

      • REGION,其中包含儲存連線設定檔的區域 ID。

      執行下列指令:

      Linux、macOS 或 Cloud Shell

      gcloud database-migration migration-jobs \
      verify MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      verify MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      verify MIGRATION_JOB_ID ^
        --region=REGION

      結果

      這項動作會以非同步方式執行。 因此,這項指令會傳回代表長期執行作業的「作業實體」

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: verify
      name: OPERATION_ID
      

      如要確認作業是否成功,可以查詢傳回的作業物件,或檢查遷移工作狀態:

    4. 啟動遷移工作
      執行下列指令 (按一下連結即可展開):

      gcloud database-migration migration-jobs start

      使用下方的任何指令資料之前,請先替換以下項目:

      • MIGRATION_JOB_ID,並提供遷移工作 ID。

        如果您不知道 ID,可以使用 gcloud database-migration migration-jobs list 指令列出特定區域中的所有遷移工作,並查看其 ID。

      • REGION,其中包含儲存連線設定檔的區域 ID。

      執行下列指令:

      Linux、macOS 或 Cloud Shell

      gcloud database-migration migration-jobs \
      start MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      start MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      start MIGRATION_JOB_ID ^
        --region=REGION

      結果

      這項動作會以非同步方式執行。 因此,這項指令會傳回代表長期執行作業的「作業實體」

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: start
      name: OPERATION_ID
      

      如要確認作業是否成功,可以查詢傳回的作業物件,或檢查遷移工作狀態:

      啟動遷移工作後,目標 Cloud SQL 執行個體會進入唯讀模式,並由資料庫遷移服務全面管理。資料完整移轉後,即可將其升級為獨立執行個體。

      注意:您可以使用資料庫移轉服務的可觀測性功能,監控遷移進度和目的地執行個體健康狀態。請參閱 [遷移工作指標](/database-migration/docs/mysql/migration-job-metrics)。

步驟 4:(選用) 停止遷移作業

如要取消資料遷移程序,可以隨時停止及刪除遷移工作。您可以在 Google Cloud 控制台或使用 Google Cloud CLI 管理遷移工作。

步驟 5:完成遷移作業

遷移作業順利完成後,請執行下列其中一個步驟,完成遷移作業:

  • 一次性遷移:遷移工作狀態會變更為「完成」。 無須採取進一步行動,您可以清除遷移工作和連線設定檔資源。

  • 持續遷移升級遷移工作,將應用程式切換至新的資料庫執行個體。