使用 MySQL 用戶端建立連線

您可以使用 MySQL 指令列用戶端連線至 Cloud SQL。本頁說明如何將 mysql 用戶端連線至 Cloud SQL 執行個體,不論該用戶端是在本機用戶端機器、Compute Engine VM 或 Cloud Shell 中執行。

事前準備

如要使用 mysql 用戶端連線至 Cloud SQL 執行個體,請先完成下列步驟:

在本機或 Compute Engine VM 上使用 MySQL 用戶端

使用 mysql 用戶端連線至 Cloud SQL 執行個體時,需要完成下列三個高階工作:

  1. 安裝用戶端
  2. 設定 Cloud SQL 執行個體的存取權
  3. 連線至 Cloud SQL 執行個體

安裝用戶端

如要安裝 mysql 用戶端,請執行下列操作:

  1. 前往 MySQL Community Server 下載頁面,下載您的平台適用的 MySQL Community Server。
    Community Server 包含 MySQL 用戶端。
  2. 按照下載頁面上的指示安裝 Community Server。

如要進一步瞭解如何安裝 MySQL,請參閱「安裝及升級 MySQL」。

設定 Cloud SQL 執行個體的存取權

如要設定執行個體的存取權,請按照下列步驟操作:

  1. 在用戶端機器或 Compute Engine VM 執行個體上,使用「What's my IP」(我的 IP 為何) 頁面查看用戶端機器的 IP 位址。
  2. 複製該 IP 位址。
  3. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  4. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  5. 在 SQL 導覽選單中,選取「Connections」(連結)
  6. 選取「網路」分頁標籤。
  7. 在「Authorized networks」(已授權的網路) 區段中,按一下「Add network」(新增網路),然後輸入安裝用戶端的機器的 IP 位址。
  8. 按一下 [完成]。然後按一下頁面底部的「儲存」來儲存變更。
  9. 使用 SSL/TLS不使用加密 (不使用 SSL/TLS) 連線至執行個體。

連線至 Cloud SQL 執行個體 (不加密)

如要允許您在不加密的情況下連線,執行個體的 SSL 模式必須設為 ALLOW_UNENCRYPTED_AND_ENCRYPTED。在 Google Cloud 控制台中,對應的設定是「允許未加密的網路流量」

如要進一步瞭解執行個體的 SSL/TLS 設定,請參閱設定 SSL/TLS 憑證

如要連線至執行個體,請按照下列步驟操作:

  1. 確認您已安裝用戶端,並設定執行個體的存取權
  2. 啟動 mysql 用戶端:
    mysql --ssl-mode=DISABLED --host=INSTANCE_IP_ADDRESS --user=root --password
  3. 輸入密碼。
  4. 系統隨即會顯示 mysql 提示字元。

使用 SSL/TLS 連線至 Cloud SQL 執行個體

如要使用 SSL/TLS 和內建驗證機制連線至執行個體,請按照下列步驟操作:

開始之前,請先確認您已安裝用戶端,並設定執行個體的存取權

  1. 啟動 mysql 用戶端:
    mysql --ssl-mode=REQUIRED \
       --host=INSTANCE_IP_ADDRESS \
       --user=root --password
  2. 輸入密碼。
  3. 在 MySQL 提示中輸入 \s 指令,確認連線是否使用 SSL/TLS。
  4. 尋找含有「SSL:」的輸出行。
    ...
    SSL:                     Cipher in use is DHE-RSA-AES256-SHA
    ...
    

    如要瞭解如何排解連線問題,請參閱偵錯連線問題

使用 SSL/TLS 和用戶端憑證驗證功能連線至 Cloud SQL 執行個體

如果 Cloud SQL 執行個體的 ssl_mode 設為 TRUSTED_CLIENT_CERTIFICATE_REQUIRED,登入時也必須提供已驗證的用戶端身分。

如要使用 SSL/TLS 憑證連線並進行用戶端驗證,您需要下列項目:

  • client-cert.pem 檔案中的用戶端公用金鑰憑證。
  • client-key.pem 檔案中的用戶端私密金鑰。

此外,如要讓用戶端驗證伺服器身分以進行相互驗證,請指定伺服器憑證 server-ca.pem

舉例來說,如要啟動 mysql 用戶端,請執行下列指令:
    mysql --ssl-mode=VERIFY_CA \
      --ssl-ca=server-ca.pem \
      --ssl-cert=client-cert.pem \
      --ssl-key=client-key.pem \
      --host=INSTANCE_IP_ADDRESS \
      --user=root --password
   

如果您沒有用戶端憑證和相應的私密金鑰,請 建立新的用戶端憑證

在 Cloud Shell 中使用用戶端

如要連線至 Cloud SQL 執行個體 (僅限公開 IP):

  1. 前往 Google Cloud 控制台。

    前往 Google Cloud 控制台

  2. 按一下工具列右側的 Cloud Shell 圖示

    Cloud Shell 需要一些時間才能完成初始化。

  3. 看到 Cloud Shell 的提示時,請使用內建的用戶端連線至您的 Cloud SQL 執行個體:
    gcloud sql connect INSTANCE_ID \
    --user=root
  4. 請輸入您的密碼。

gcloud sql connect 指令不支援使用私人 IP 連線至 Cloud SQL 執行個體,也不支援使用 SSL/TLS。如要透過加密連線,請在 Cloud Shell 中安裝並使用 Proxy:

  1. /home/USER 目錄中安裝 Proxy (Linux 64 位元)。
  2. 使用 gcloud CLI 驗證啟動 Proxy:

    ./cloud-sql-proxy INSTANCE_CONNECTION_NAME &

  3. 使用 TCP 連線連線至資料庫:

    mysql -u USERNAME -p --host=127.0.0.1

後續步驟

歡迎試用

如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Cloud SQL 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。

免費試用 Cloud SQL