在私人網路中建立執行個體,然後匯入資料庫

將工作負載從其他平台遷移至 MySQL 適用的 Cloud SQL 時,通常需要使用 Google Cloud 控制台,從您從先前環境匯出的 SQL 傾印檔案匯入資料。

本教學課程說明如何建立所需 Google Cloud 資源 ,然後將 SQL 資料庫匯入 MySQL 適用的 Cloud SQL 執行個體。本教學課程會示範遷移至 MySQL 適用的 Cloud SQL 時的最佳做法,包括使用具備私人服務存取權的虛擬私有雲 (VPC) 網路,以及為 Cloud SQL 執行個體啟用私人 IP。

除非另有指定,否則請保留設定的預設值。

目標

  1. 下載範例 SQL 傾印檔案。
  2. 建立新的虛擬私有雲網路,並啟用私人服務存取權。
  3. 建立 Cloud Storage bucket,並將 SQL 傾印檔案上傳至該 bucket。
  4. 建立設定為使用私人 IP 的 MySQL 適用的 Cloud SQL 執行個體。
  5. 建立使用者。
  6. 從傾印檔案匯入新資料庫。
  7. 查看結構並執行查詢,確認資料庫已成功匯入。

費用

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

您可以使用 Pricing Calculator,根據預測用量估算費用。

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

完成本文所述工作後,您可以刪除建立的資源,避免繼續計費,詳情請參閱「清除所用資源」。

事前準備

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. 如要使用現有專案完成本指南,請確認您擁有完成本指南所需的權限。如果您已建立新專案,表示已具備必要權限。

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. 如要使用現有專案完成本指南,請確認您擁有完成本指南所需的權限。如果您已建立新專案,表示已具備必要權限。

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  10. 必要的角色

    如要取得完成本教學課程所需的權限,請要求管理員在專案中授予您下列 IAM 角色:

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

    您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

    取得範例資料庫傾印檔案

    在本教學課程中,您將使用包含國家/地區代碼和世界首都的小型範例資料庫。

    countries 資料庫的 SQL 檔案下載到本機環境:countries-mysql.sql

    建立具有私人服務存取權的網路

    建立其餘資源前,請先建立虛擬私有雲網路,以便在該網路上執行服務。私人服務存取權可讓您使用內部 IPv4 位址,在外部網路與 MySQL 適用的 Cloud SQL 之間建立私人連線,藉此限制對 Cloud SQL 資料庫的存取權。

    1. 前往 Google Cloud 控制台的「VPC Networks」(虛擬私有雲網路) 頁面。

      前往「VPC networks」(VPC 網路) 頁面

    2. 按一下「建立虛擬私有雲網路」

    3. 在名稱欄位中輸入 tutorial-network

    4. 在「子網路建立模式」部分,選取「自訂」

    5. 在名稱欄位中輸入 tutorial-subnet

    6. 選取您附近的區域。

    7. 在「IPv4 range」(IPv4 範圍) 中,輸入 10.0.0.0/24

    8. 在「Private Google Access」部分,選取「啟用」

    9. 按一下 [完成]

    10. 按一下頁面底部的 [Create] (建立)。

    虛擬私有雲網路建立完成後,即可為該網路設定私人服務存取權。

    1. 在「虛擬私有雲網路」畫面中,按一下「tutorial-network」
    2. 在「tutorial-network」的選單列中,按一下「Private services access」(私人服務存取權)
    3. 按一下「分配的服務 IP 範圍」
    4. 按一下「Allocate IP range」(分配 IP 範圍)
    5. 在「Name」(名稱) 中輸入 tutorial-range
    6. 在「IP address range」(IP 位址範圍) 中,選取「Custom」(自訂)
    7. 在「Range」(範圍) 欄位中輸入 192.168.0.0/20
    8. 按一下「Allocate」(分配)
    9. 在子選單中,按一下「Private connections to services」(私人服務連線)
    10. 點選「建立連線」
    11. 在「Assigned allocation」(已指派的分配範圍) 下拉式選單中,選取「tutorial-range」
    12. 按一下 [連線]。一兩分鐘後, Google Cloud 控制台會顯示訊息,通知您已成功建立私人連線。

    建立 Cloud Storage 值區

    接著,建立 Cloud Storage bucket,儲存您先前下載的 SQL 傾印檔案。Cloud SQL 匯入工具會將傾印檔案放在值區中。Cloud Storage bucket 必須設定全域不重複名稱。

    1. 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。

      前往「Buckets」(值區) 頁面

    2. 點選「建立」
    3. 建立全域不重複的 bucket 名稱,只能使用小寫英文字母、數字和連字號。建議使用隨機字串產生器 (例如 random.org/strings) 產生名稱。請記下您選擇的名稱。
    4. 按一下「繼續」
    5. 在「位置類型」下方,選取「區域」。這是費用最低的選項。
    6. 選擇與子網路相同的區域。將Google Cloud 資源放在相同區域可縮短延遲時間、提升速度、降低資料傳輸成本,並簡化網路。
    7. 按一下「繼續」
    8. 點選「建立」
    9. 如果系統顯示對話方塊,請保留選取的「強制禁止公開存取這個值區」,然後按一下「確認」

    新 bucket 的「Bucket details」(bucket 詳細資料) 頁面隨即開啟,並選取「Objects」(物件) 窗格。

    將傾印檔案上傳至 bucket

    將先前下載的範例 SQL 傾印檔案上傳至 bucket。

    1. 在「物件」分頁中,依序點選「上傳」和「上傳檔案」
    2. 找到並選取 countries-mysql.sql 檔案。
    3. 按一下 [開啟]。Cloud Storage 會將傾印檔案上傳至 bucket。

    建立 Cloud SQL 執行個體

    在 Google Cloud 控制台中,使用下列設定建立 Cloud SQL 執行個體。其他設定則保留預設值。雖然匯入程序不需要啟用私人 IP,但建議您為正式版工作負載使用私人 IP。

    1. 前往 Google Cloud 控制台的 Cloud SQL 執行個體頁面。
      前往 Cloud SQL 執行個體頁面
    2. 點選「建立執行個體」
    3. 按一下「Choose MySQL」(選擇 MySQL)
    4. 在「選擇 Cloud SQL 版本」部分,選擇「Enterprise」
    5. 在「版本預設設定」部分,選取「沙箱」
    6. 在「Instance ID」(執行個體 ID) 中輸入 tutorial-instance
    7. 選擇並輸入預設使用者帳戶的密碼,然後儲存以供日後使用。
    8. 選擇與子網路和 bucket 相同的區域。
    9. 「可用區可用性」請選取「單一可用區」
    10. 展開「Show configuration options」(顯示設定選項)
    11. 展開「連線」
    12. 清除「公開 IP」
    13. 選取「私人 IP」。
    14. 從「網路」下拉式選單中,選取「tutorial-network」。這會將新的 Cloud SQL 執行個體放在您先前建立的私人網路中。
    15. 按一下「建立執行個體」,然後等待執行個體初始化並啟動。初始化程序可能需要超過五分鐘。

    新增使用者

    您必須先建立資料庫使用者 (與根使用者不同),才能讀取或寫入資料庫。

    1. 在 SQL 導覽選單中,按一下「使用者」
    2. 按一下「Add user account」(新增使用者帳戶)
    3. 在隨即開啟的窗格中,選取「內建驗證」
    4. 在「User name」(使用者名稱) 欄位中輸入 tutorial-user
    5. 輸入新使用者的密碼。請儲存這個密碼,以供日後使用。
    6. 選取「允許任何主機」
    7. 按一下「新增」。

    從傾印檔案匯入

    現在,您可以使用上傳至 Cloud Storage bucket 的 countries countries-mysql.sql傾印檔案,匯入資料庫。

    1. 在 SQL 導覽選單中,按一下「總覽」
    2. 在總覽頁面上,按一下「匯入」
    3. 在「檔案格式」下方,選取「SQL」
    4. 在「選取來源檔案」下方,選擇「從 Google Cloud Storage 選取檔案」
    5. 按一下「瀏覽」
    6. 展開您稍早建立的儲存空間 bucket。
    7. 按一下「countries-mysql.sql」
    8. 按一下「選取」
    9. 確認「目的地」部分的「資料庫」欄位已選取「在 SQL 檔案中指定」
    10. 按一下「匯入」

    匯入程序完成後,系統會顯示成功訊息,表示 countries 資料庫已匯入至 MySQL 適用的 Cloud SQL。

    驗證 MySQL 適用的 Cloud SQL 中匯入的資料

    匯入作業完成後,您可以透過 Cloud SQL Studio 連線至資料庫、檢查資料表清單,並對資料執行測試查詢,確認資料庫已匯入。

    驗證 Cloud SQL Studio

    使用先前建立的使用者帳戶,透過 Cloud SQL Studio 連線至新資料庫。

    1. 在 SQL 導覽選單中,按一下「Cloud SQL Studio」。系統會顯示登入對話方塊。
    2. 在「資料庫」下拉式選單中,選擇「國家/地區」
    3. 選取「內建資料庫驗證」
    4. 在「User」(使用者) 下拉式選單中,選取「tutorial-user」
    5. 在「Password」(密碼) 欄位中,輸入您在「Add a user」(新增使用者) 部分為使用者選擇的密碼。
    6. 按一下「驗證」。Cloud SQL Studio 隨即開啟。

    查看及查詢資料表

    1. 在「Explorer」窗格中檢查 countries 資料庫,確認資料庫有兩個資料表:capitalscountry_codes
    2. 按一下「未命名的查詢」開啟查詢編輯器。
    3. 將下列程式碼貼入查詢編輯器:

      SELECT
        `capitals`.`country_capital`,
        `country_codes`.`country_name`
      FROM
        `capitals`
      JOIN
        `country_codes`
      ON
        `capitals`.`alpha_2_code` = `country_codes`.`alpha_2_code`
      ORDER BY
        `capitals`.`country_capital`;
      
    4. 按一下「執行」

    結果窗格會依字母順序顯示世界各國首都和所屬國家/地區的清單。

    清除所用資源

    如要避免系統向您的 Google Cloud 帳戶收取本教學課程所用資源的費用,請採取下列任一做法:

    • 刪除內含資源的專案
    • 保留專案並刪除個別資源。

    刪除專案

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    刪除個別資源

    如要保留專案但避免產生費用,請刪除您在教學課程期間建立的 Cloud SQL 執行個體、Cloud Storage bucket 和 VPC 網路。

    刪除 Cloud SQL 執行個體

    請先停用防刪除功能,然後刪除教學課程 Cloud SQL 執行個體:

    1. 在 SQL 導覽選單中,按一下「總覽」
    2. 按一下 [編輯]
    3. 展開「資料保護」部分。
    4. 在「執行個體防刪除功能」中,取消選取所有選項。
    5. 按一下 [儲存]。作業完成後,即可選取「刪除」
    6. 按一下「Delete」(刪除)。系統隨即會顯示對話方塊。
    7. 在「Instance ID」(執行個體 ID) 欄位中輸入 tutorial-instance
    8. 按一下「Delete」(刪除)

    刪除 Cloud Storage 值區

    接著,刪除儲存空間 bucket 和當中的內容。

    1. 在主 Google Cloud 控制台導覽選單中,依序前往「Cloud Storage」>「Buckets」
    2. 找出您先前建立的值區,然後選取名稱旁的方塊。
    3. 按一下「刪除」圖示
    4. 在對話方塊中輸入 DELETE 確認刪除,然後按一下「刪除」

    刪除虛擬私人雲端網路

    您已刪除虛擬私有雲網路中的資源,現在可以刪除網路。如要刪除 VPC 網路,請先刪除建立 VPC 網路時自動建立的對等互連連線。

    1. 在主要導覽選單中,依序前往「虛擬私有雲網路」 >「虛擬私有雲網路對等互連」
    2. 選取 VPC 網路「tutorial-network」旁的方塊。
    3. 按一下「Delete」(刪除)
    4. 在對話方塊中按一下「刪除」,確認刪除。

    對等互連連線移除後,您就可以刪除 VPC 網路。

    1. 在「虛擬私有雲網路」選單中,按一下「虛擬私有雲網路」
    2. 按一下「tutorial-network」,開啟詳細資料頁面。
    3. 按一下「刪除虛擬私有雲網路」
    4. 在對話方塊中輸入 tutorial-network,然後按一下「刪除」,確認刪除。

    後續步驟