從 Compute Engine 連線至 MySQL 適用的 Cloud SQL

瞭解如何透過 Google Cloud 控制台和用戶端應用程式,在 Linux 或 Windows 型 Compute Engine VM 執行個體上部署連結至 MySQL 執行個體的範例應用程式。

假設您及時完成所有步驟,這項快速入門導覽課程建立的資源通常不到一美元。

事前準備

  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.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

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

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. 啟用必要的 Cloud API,以便在 Compute Engine VM 執行個體上執行 Cloud SQL 範例應用程式。

    控制台

    按一下「Enable APIs」(啟用 API) 按鈕,啟用本快速入門導覽課程所需的 API。

    啟用 API

    這會啟用下列 API:

    • Cloud SQL Admin API

    gcloud

    安裝 gcloud CLI,透過指令列存取 Google Cloud 資源。gcloud CLI 用於執行本快速入門導覽課程中顯示的 gcloud CLI 指令。所有指令都已格式化,可在終端機或 Powershell 視窗中執行。

    執行下列 gcloud 指令:

    gcloud services enable sqladmin.googleapis.com

    這個指令會啟用下列 API:

    • Cloud SQL Admin API

設定 Cloud SQL

建立 Cloud SQL 執行個體

建立資料庫

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  2. 選取「quickstart-instance」。
  3. 開啟「資料庫」分頁。
  4. 按一下 [Create database] (建立資料庫)。
    1. 在「Create database」(建立資料庫) 對話方塊中,輸入 quickstart_db 做為資料庫名稱,並視需要指定字元集與定序。
    2. 點選「建立」

gcloud

執行 gcloud sql databases create 指令來建立資料庫。

gcloud sql databases create quickstart_db --instance=quickstart-instance

新增使用者

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 在 SQL 導覽選單中選取「使用者」
  4. 按一下「新增使用者帳戶」
    • 在「Add a user account to instance instance_name」(在執行個體「instance_name」中新增使用者帳戶) 頁面中, 新增下列資訊:
      • 使用者名稱:設為 quickstart-user
      • 密碼:指定資料庫使用者的密碼。 請記下這個值,本快速入門導覽課程的後續步驟會用到。
      • 在「主機名稱」部分,預設為「允許任何主機」,表示使用者可以從任何 IP 位址連線。

        (選用) 選取「依 IP 位址或位址範圍限制主機」, 然後在「主機」區段中輸入 IP 位址或位址範圍。 使用者只能從指定的 IP 位址或位址連線。

  5. 按一下「新增」

gcloud

執行下列指令前,請先進行下列替換:

  1. PASSWORD,並提供資料庫使用者的密碼。 請記下這個值,本快速入門導覽課程的後續步驟會用到。

執行 gcloud sql users create 指令來建立使用者。

gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD

Cloud SQL 的使用者名稱長度限制與地端 MySQL 相同:MySQL 8.0 以上版本為 32 個字元,舊版則為 16 個字元。

設定 Compute Engine 服務帳戶

建立及設定具有「Cloud SQL 用戶端」 Google Cloud 角色的服務帳戶,並授予連線至 Cloud SQL 的權限。 建立服務帳戶後,可能需要等待 60 秒以上才能使用該帳戶。

控制台

建立服務帳戶

  1. 前往 Google Cloud 控制台的「Create service account」(建立服務帳戶) 頁面。
  2. 前往「建立服務帳戶」

  3. 選取 Google Cloud 專案。
  4. 輸入 quickstart-service-account 做為服務帳戶名稱。
  5. 選用:輸入服務帳戶的說明。
  6. 按一下「建立並繼續」,然後繼續進行下一個步驟。
  7. 選擇「Cloud SQL Client」(Cloud SQL 用戶端) 角色,授予專案的服務帳戶。
  8. 按一下「新增其他角色」,然後選擇「Storage 物件檢視者」角色,授予專案的服務帳戶。
  9. 按一下「繼續」
  10. 按一下「Done」(完成),即完成建立服務帳戶。

gcloud

建立服務帳戶

  1. 如要建立服務帳戶,請執行 gcloud iam service-accounts create 指令:
  2. gcloud iam service-accounts create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"

    請替換下列值:

    • DESCRIPTION:服務帳戶的選填說明
  3. 如要將專案的「Cloud SQL Client」角色和「Storage 物件檢視者」角色授予服務帳戶,請執行 gcloud projects add-iam-policy-binding 指令。將 PROJECT_ID 替換為您的 Google Cloud 專案 ID:
    gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:quickstart-service-account@PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudsql.client" --role="roles/storage.objectViewer"

建立 Compute Engine VM 執行個體

建立 Compute Engine VM 執行個體,用於代管連線至 Cloud SQL 的範例網頁應用程式。

存取 Compute Engine VM 執行個體

為程式設計語言設定開發環境

為偏好的程式設計語言設定 Compute Engine VM 執行個體的開發環境。

安裝 Git

在 Compute Engine VM 執行個體上安裝 Git (開放原始碼版本控管系統)。

複製範例應用程式

使用 git clone 指令,將範例應用程式複製到 Compute Engine VM 執行個體。

Go

在 Compute Engine VM 執行個體上,開啟新的終端機或 Powershell 視窗。執行下列指令,複製 Go 範例應用程式,並將目錄變更為包含範例應用程式的目錄。

  1. 複製範例應用程式。
    git clone https://github.com/GoogleCloudPlatform/golang-samples
  2. 將目錄變更為包含範例應用程式的目錄。
    cd golang-samples/cloudsql/mysql/database-sql

Java

在 Compute Engine VM 執行個體上,開啟新的終端機或 Powershell 視窗。執行下列指令,複製 Java 範例應用程式,並將目錄變更為包含範例應用程式的目錄。

  1. 複製範例應用程式。
    git clone https://github.com/GoogleCloudPlatform/java-docs-samples
  2. 將目錄變更為包含範例應用程式的目錄。
    cd java-docs-samples/cloud-sql/mysql/servlet

Node.js

在 Compute Engine VM 執行個體上,開啟新的終端機或 Powershell 視窗。執行下列指令,複製 Node.js 範例應用程式,並將目錄變更為包含範例應用程式的目錄。

  1. 複製範例應用程式。
    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
  2. 將目錄變更為包含範例應用程式的目錄。
    cd nodejs-docs-samples/cloud-sql/mysql/mysql

Python

在 Compute Engine VM 執行個體上,開啟新的終端機或 Powershell 視窗。執行下列指令來複製 Python 範例應用程式,並將目錄變更為包含範例應用程式的目錄。

  1. 複製範例應用程式。
    git clone https://github.com/GoogleCloudPlatform/python-docs-samples
  2. 將目錄變更為包含範例應用程式的目錄。
    cd python-docs-samples/cloud-sql/mysql/sqlalchemy

設定及執行 Cloud SQL 範例應用程式

有了 Cloud SQL 執行個體、資料庫和具備用戶端權限的服務帳戶,您現在可以設定在 Compute Engine VM 執行個體上執行的範例應用程式,連線至 Cloud SQL 執行個體。

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取本頁所用資源的費用,請按照下列步驟操作。

刪除 Cloud SQL 執行個體

  1. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  2. 選取 quickstart-instance 執行個體,開啟「Instance details」(執行個體詳細資料) 頁面。
  3. 在頁面頂端的圖示列中,按一下 [刪除]
  4. 在「Delete instance」(刪除執行個體) 對話方塊中輸入 quickstart-instance,然後按一下「Delete」(刪除) 以刪除執行個體。

刪除 Compute Engine VM 執行個體

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面

    前往 VM 執行個體

  2. 選取 quickstart-vm-instance 執行個體,開啟「Instance details」(執行個體詳細資料) 頁面。
  3. 在頁面頂端的圖示列中,按一下 [刪除]
  4. 按一下「刪除」即可刪除執行個體。

選用清除步驟

如果您未使用指派給 Compute Engine default 服務帳戶的 Cloud SQL 用戶端角色,可以移除該角色。

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

    前往「IAM」頁面

  2. 按一下名為「Compute Engine default service account」的 IAM 帳戶編輯圖示 (看起來像鉛筆)。
  3. 刪除 Cloud SQL 用戶端角色。
  4. 按一下 [儲存]

如果您未使用本快速入門導覽課程啟用 API,可以停用該 API。

  • 本快速入門導覽課程中啟用的 API:
    • Cloud SQL Admin API
  1. 前往 Google Cloud 控制台的「API」頁面。

    前往 API 頁面

  2. 選取要停用的 API,然後按一下「停用 API」按鈕。

後續步驟

您可以根據需求,進一步瞭解如何建立 Cloud SQL 執行個體

您也可以瞭解如何建立 Cloud SQL 執行個體的 MySQL 使用者資料庫

如要進一步瞭解定價,請參閱 MySQL 適用的 Cloud SQL 定價

請點選下列連結瞭解更多資訊:

  • 使用公開 IP 位址設定 Cloud SQL 執行個體。
  • 為 Cloud SQL 執行個體設定私人 IP 位址。

此外,您也可以瞭解如何從其他 Google Cloud 應用程式連線至 Cloud SQL 執行個體: