您可以使用 MySQL 命令行客户端连接到 Cloud SQL。本页介绍如何将 mysql
客户端连接到 Cloud SQL 实例,无论是在客户端机器、Compute Engine 虚拟机上还是在 Cloud Shell 本地运行。
准备工作
在使用 mysql
客户端连接到 Cloud SQL 实例之前,请执行以下操作:
-
创建一个 Cloud SQL 实例,包括配置默认用户。
请参阅创建实例和为默认用户账号设置密码。
(可选)创建一个 Compute Engine 虚拟机实例,然后使用 SSH 连接到该实例。
确定您将如何连接到实例。
如需了解连接方案以及如何从中进行选择,请参阅连接方案简介。
在本地机器或 Compute Engine 虚拟机上使用 MySQL 客户端
如需使用 mysql
客户端连接到 Cloud SQL 实例,请完成以下三项简要任务:
安装客户端
如需安装 mysql
客户端,请执行以下操作:
- 从 MySQL Community Server 下载页面下载适用于您的平台的 MySQL Community Server。
Community Server 包含 MySQL 客户端。 - 按照下载页面上的说明安装 Community Server。
如需详细了解如何安装 MySQL,请参阅安装和升级 MySQL。
配置对 Cloud SQL 实例的访问权限
如需配置对实例的访问权限,请执行以下操作:
- 从客户端机器或 Compute Engine 虚拟机实例中,使用我的 IP 是什么以查看客户端机器的 IP 地址。
- 复制该 IP 地址。
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 如需打开实例的概览页面,请点击实例名称。
- 从 SQL 导航菜单中选择连接。
- 选择网络标签页。
- 在已获授权的网络部分中,点击添加网络,然后输入已安装该客户端的机器的 IP 地址。
- 点击完成,随后点击页面底部的保存以保存更改。
- 连接到实例(可以使用 SSL/TLS,也可以不加密(不使用 SSL/TLS))。
在不加密的情况下连接到 Cloud SQL 实例
如需允许在不加密的情况下进行连接,实例的 SSL 模式必须设置为 ALLOW_UNENCRYPTED_AND_ENCRYPTED
。在 Google Cloud 控制台中,等效配置是允许未加密的网络流量。
如需详细了解实例的 SSL/TLS 配置,请参阅配置 SSL/TLS 证书。
如需连接到实例,请执行以下操作:
- 确认您已安装客户端并配置对实例的访问权限。
- 启动
mysql
客户端:mysql --ssl-mode=DISABLED --host=INSTANCE_IP_ADDRESS --user=root --password
- 输入密码。
- 系统会显示 mysql 提示符。
使用 SSL/TLS 连接到您的 Cloud SQL 实例
如需使用 SSL/TLS 和内置身份验证连接到您的实例,请执行以下操作:
在开始之前,请确认您已安装客户端并配置对实例的访问权限。
- 启动
mysql
客户端:mysql --ssl-mode=REQUIRED \ --host=INSTANCE_IP_ADDRESS \ --user=root --password
- 输入密码。
- 在 MySQL 提示符处,输入
\s
命令以验证您的连接使用的是否是 SSL/TLS。 -
注意查看包含 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),请执行以下操作:
- 转到 Google Cloud 控制台。
- 点击工具栏右侧的 Cloud Shell 图标 。
Cloud Shell 的初始化需要一些时间。
- 在 Cloud Shell 提示符处,使用内置的客户端连接到您的 Cloud SQL 实例:
gcloud sql connect INSTANCE_ID \ --user=root
- 输入密码。
gcloud sql connect
命令不支持使用专用 IP 或使用 SSL/TLS 连接到 Cloud SQL 实例。如需使用加密进行连接,请在 Cloud Shell 中安装和使用代理:
- 在
/home/USER
目录中安装代理(Linux 64 位)。 - 使用 gcloud CLI 身份验证启动代理:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- 使用 TCP 连接来连接到数据库:
mysql -u USERNAME -p --host=127.0.0.1
后续步骤
- 了解如何配置使用专用 IP 地址的实例。
- 了解从应用连接到实例的方案。
- 了解
mysql
客户端。
自行试用
如果您是 Google Cloud 新手,请创建一个账号来评估 Cloud SQL 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
免费试用 Cloud SQL