使用 MySQL 客户端进行连接

您可以使用 MySQL 命令行客户端连接到 Cloud SQL。本页介绍如何将 mysql 客户端连接到 Cloud SQL 实例,无论是在客户端机器、Compute Engine 虚拟机上还是在 Cloud Shell 本地运行。

准备工作

在使用 mysql 客户端连接到 Cloud SQL 实例之前,请执行以下操作:

在本地机器或 Compute Engine 虚拟机上使用 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 虚拟机实例中,使用我的 IP 是什么以查看客户端机器的 IP 地址。
  2. 复制该 IP 地址。
  3. 在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  4. 如需打开实例的概览页面,请点击实例名称。
  5. 从 SQL 导航菜单中选择连接
  6. 选择网络标签页。
  7. 已获授权的网络部分中,点击添加网络,然后输入已安装该客户端的机器的 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 或使用 SSL/TLS 连接到 Cloud SQL 实例。如需使用加密进行连接,请在 Cloud Shell 中安装和使用代理:

  1. /home/USER 目录中安装代理(Linux 64 位)。
  2. 使用 gcloud CLI 身份验证启动代理:

    ./cloud-sql-proxy INSTANCE_CONNECTION_NAME &

  3. 使用 TCP 连接来连接到数据库:

    mysql -u USERNAME -p --host=127.0.0.1

后续步骤

自行试用

如果您是 Google Cloud 新手,请创建一个账号来评估 Cloud SQL 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。

免费试用 Cloud SQL