使用 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 限制上傳至值區的檔案大小為 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 實體。

In this document, you use the following billable components of Google Cloud:

  • Cloud Storage
  • Cloud SQL

To generate a cost estimate based on your projected usage, use the pricing calculator. New Google Cloud users might be eligible for a free trial.

事前準備

  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 權限的使用者。
    • PASSWORDUSERNAME 帳戶的密碼。
    1. 對來源執行個體執行完整實體備份。執行下列指令:
        xtrabackup --backup \
          --target-dir=TARGET_DIR \
          --user=USERNAME \
          --password=PASSWORD
            
    2. 備份檔案就緒後,請使用 --prepare 指令確保檔案一致性。執行下列指令:
        xtrabackup --prepare --target-dir=TARGET_DIR
            
  3. 建立值區來儲存備份檔案。請確認您使用的區域,正是打算建立 MySQL 適用的 Cloud SQL 目的地執行個體處。

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

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

    控制台

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

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

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

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

      您可以從頁面上的「Secure your connection」部分選取三種 SSL/TLS 設定選項:

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

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

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

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

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

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

    gcloud

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

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

    • CONNECTION_PROFILE_ID 與連線設定檔的機器可讀 ID。
    • 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 控制台的「Migration jobs」頁面。

      前往「遷移工作」頁面

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

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

      您可以隨時按一下「儲存並結束」,暫停建立遷移工作。您在該時間點前輸入的所有資料都會儲存在遷移工作草稿中。您可以稍後完成草稿遷移作業。

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

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

      2. 遷移工作 ID

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

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

        「Destination database engine」欄位會自動填入,且無法變更。

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

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

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

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

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

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

    1. 在「Define a destination」頁面上,從「Type of destination instance」下拉式選單中選取「New instance」。定義所有相關設定:
      1. 在「Destination Instance ID」欄位中,提供 Cloud SQL 執行個體的 ID,或使用自動產生的 ID。

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

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

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

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

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

      4. 為目的地執行個體選取 MySQL 適用的 Cloud SQL 版本。 您可以選擇 Cloud SQL for MySQL Enterprise 版本Cloud SQL for MySQL Enterprise Plus 版本

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

      5. 「Region」選單會顯示您在「Get started」頁面上選取的地區。

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

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

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

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

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

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

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

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

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

      資料快取是 Cloud SQL 適用的 MySQL 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 目標執行個體。 這項程序可能需要幾分鐘的時間。

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

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

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

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

    在可連結來源資料庫和 Google Cloud的機器上執行指令。

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

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

    建立遷移工作

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

    請在測試工作前執行下列任一操作,以便驗證工作設定:

    • 將權限指派給目的地執行個體服務帳戶後,如果您想使用 Google Cloud 控制台測試遷移作業,請按一下「儲存並結束」。這項操作會將遷移工作儲存為草稿。您可以稍後再返回這個畫面,測試並執行遷移工作。
    • 將權限指派給目的地執行個體服務帳戶後,如果您想使用 Google Cloud CLI 測試遷移作業,請按一下「Create」。您可以使用 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 版本。如果您打算使用 Cloud SQL for MySQL Enterprise Plus 版本,請確認您的區域是否支援該版本。請參閱 Cloud SQL for MySQL Enterprise Plus 版本的區域支援服務

        您可以使用 --edition 標記搭配下列其中一個值,變更版本:

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

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

      • REGION 與您要儲存連線設定檔的區域 ID。

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

      • (選用) CONNECTION_PROFILE_NAME 為連線設定檔提供人類可讀的名稱。這個值會顯示在 Google Cloud 控制台中。
      • 網路設定

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

        如要使用公開 IP 連線,您不需要使用其他旗標。如果您想使用私人 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. 完成網路設定。

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

      • 如果您使用預設的公開 IP 連線,請設定來源資料庫執行個體,允許來自 Cloud SQL 目的地公開位址和通訊埠的連線。詳情請參閱「 使用 IP 許可清單設定連線」。
      • 如果您使用反向 SSH 通道,請在 Compute Engine VM 上設定通道。詳情請參閱「 使用反向 SSH 通道設定連線」一文。
    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 值區資料夾中的實體備份檔案路徑。請使用下列格式: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 控制台的「Migration jobs」頁面。

      前往「遷移工作」頁面

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

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

    3. 在「Test and create migration job」頁面中,按一下「Test job」。 資料庫移轉服務現在會檢查目標執行個體是否具備所有必要權限,並能連線至來源資料庫。
    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 控制台的「Migration jobs」頁面。

      前往「遷移工作」頁面

    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 與您要儲存連線設定檔的區域 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 控制台的「Migration jobs」頁面。

      前往「遷移工作」頁面

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

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

      您可以隨時按一下「儲存並結束」,暫停建立遷移工作。您在該時間點前輸入的所有資料都會儲存在遷移工作草稿中。您可以稍後完成草稿遷移作業。

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

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

      2. 遷移工作 ID

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

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

        「Destination database engine」欄位會自動填入,且無法變更。

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

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

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

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

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

    選取目的地 Cloud SQL 執行個體

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

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

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

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

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

    在可連結來源資料庫和 Google Cloud的機器上執行指令。

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

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

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

    在這個最後步驟中,請查看遷移工作設定、來源、目的地和連線方法的摘要,然後測試遷移工作設定的有效性。如果遇到任何問題,您可以修改遷移工作設定。並非所有設定都能編輯。

    1. 在「Test and create migration job」頁面中,按一下「Test job」

      如果測試失敗,您可以在流程的適當部分解決問題,然後返回重新測試。如要瞭解如何排解遷移工作測試失敗的問題,請參閱「 診斷 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 值區資料夾中的實體備份檔案路徑。請使用下列格式: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:完成遷移

遷移工作順利完成後,請執行下列任一步驟,完成遷移工作:

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

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