使用本地机器或 Compute Engine 中的数据库客户端进行连接

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

准备工作

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

在本地机器或 Compute Engine 虚拟机上使用客户端

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

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

安装客户端

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

Debian/Ubuntu

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

sudo apt-get update
sudo apt-get install mariadb-server-10.3

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. 从客户端机器或 Compute Engine 虚拟机实例中,使用我的 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 中使用客户端

如需连接到 Cloud SQL 实例(仅限公共 IP),请执行以下操作:

  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 connect 命令不支持使用专用 IP 或使用 SSL/TLS 连接到 Cloud SQL 实例。如需使用加密进行连接,请在 Cloud Shell 中安装和使用代理:

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

    ./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306 &

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

    mysql -u USERNAME -p --host 127.0.0.1

后续步骤

亲自尝试

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

免费试用 Cloud SQL