使用公共 IP 连接 MySQL 客户端

本页面介绍如何将在您的客户端机器上本地运行或者在 Cloud Shell 中运行的 mysql 客户端连接到 Cloud SQL 实例。

需要帮助?如需获得代理问题排查方面的帮助,请参阅排查 Cloud SQL 代理连接问题。也可参阅我们的 Cloud SQL 支持页面

准备工作

您必须首先完成以下操作,然后才能开始使用客户端:

使用本地客户端

如需使用本地客户端连接到 Cloud SQL 实例,请完成以下三项简要任务:

  1. 安装客户端
  2. 配置对 Cloud SQL 实例的访问权限
  3. 连接到 Cloud SQL 实例

安装客户端

如需安装客户端,请按如下所述操作:

Debian/Ubuntu

使用软件包管理器安装 MySQL 客户端:

sudo apt-get update
sudo apt-get install mysql-server

CentOS/RHEL

使用软件包管理器安装 MySQL 客户端:

sudo yum install mysql

openSUSE

使用软件包管理器安装 MySQL 客户端:

sudo zypper install mysql-server

其他平台

  1. MySQL Community Server 下载页面下载适用于您的平台的 MySQL Community Server。
    Community Server 包含 MySQL 客户端。
  2. 按照下载页面上的说明安装 Community Server。

如需详细了解如何安装 MySQL,请参阅 MySQL 参考手册安装和升级 MySQL

配置对 Cloud SQL 实例的访问权限

如需配置对实例的访问权限,请执行以下操作:

  1. 在客户端机器上,使用我的 IP 是什么以查看客户端机器的 IP 地址。
  2. 复制该 IP 地址。
  3. 转到 Google Cloud Console 中的“Cloud SQL 实例”页面。

    转到“Cloud SQL 实例”页面

  4. 点击相应实例以打开其概览页面,并记录其 IP 地址。
  5. 选择连接标签页。
  6. 已获授权的网络下,点击添加网络,然后输入已安装该客户端的机器的 IP 地址。
  7. 点击完成,随后点击页面底部的保存以保存更改。
  8. 连接到实例(可以使用 SSL,也可以不使用 SSL)。

在不加密的情况下连接到 Cloud SQL 实例

如需连接到您的实例,请执行以下操作:

  1. 确认您已安装客户端配置对实例的访问权限
  2. 启动 mysql 客户端:
    mysql --host=[INSTANCE_IP] --user=root --password
    
  3. 输入您的密码。
  4. 系统会显示 mysql 提示符。

使用 SSL 连接到 Cloud SQL 实例

如需使用 SSL 进行连接,您需要符合以下条件:

  • server-ca.pem 文件中包含证书授权机构 (CA) 证书。
  • client-cert.pem 文件中包含客户端公钥证书。
  • client-key.pem 文件中包含客户端私钥。

如果您没有客户端证书和对应的私钥,请创建新的客户端证书

在开始之前,请确认您已安装客户端配置对实例的访问权限

如需使用 SSL 连接到您的实例,请执行以下操作:

  1. 启动 mysql 客户端:

    mysql --ssl-ca=server-ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem \
                 --host=[INSTANCE_IP] --user=root --password
    

  2. 输入密码。
  3. 在 MySQL 提示符处,输入 \s 命令以验证您的连接使用的是否是 SSL。
  4. 注意查看包含 SSL: 的输出行。
    ...
    SSL:                     Cipher in use is DHE-RSA-AES256-SHA
    ...
    

    如需了解通过 IP 进行连接时的问题排查,请参阅诊断 Cloud SQL 实例的问题

在 Cloud Shell 中使用客户端

  1. 转到 Google Cloud Console。

    转到 Google Cloud Console

  2. 点击工具栏右侧的 Cloud Shell 图标

    Cloud Shell 的初始化需要一些时间。

  3. 在 Cloud Shell 提示符处,使用内置的客户端连接到您的 Cloud SQL 实例:
    gcloud sql connect [INSTANCE_ID] --user=root
    
  4. 输入您的密码。

gcloud sql 命令组不支持使用 SSL/TLS 连接到 Cloud SQL 实例。

后续步骤