Cloud SQL Auth 代理使用快速入门

本页面介绍了如何使用 Cloud SQL Auth 代理从本地测试环境连接到 Cloud SQL。通过 Cloud SQL Auth 代理进行连接时,您可以在本地环境中测试 App Engine 应用,或者为数据库管理建立安全连接。

下述说明不适用于为生产环境设置 Cloud SQL Auth 代理。如需了解更多连接方案,请参阅使用 Cloud SQL Auth 代理进行连接

准备工作

在执行本快速入门中的步骤之前,请完成以下任务:

  • 创建 Google Cloud 项目和 Cloud SQL 实例
  • 如果您使用的是现有项目,请确保您的 Google Cloud 用户是项目所有者或具有 IAM Cloud SQL Client 角色。
  • 安装 mysql 客户端。

    该客户端可让您测试与实例的连接。mysql 客户端可以与服务器软件包一起安装。某些操作系统支持客户端专用软件包。请参阅 MySQL 安装说明

  • 启用 Admin API

  • 安装 gcloud 命令行工具并进行身份验证。

    1. 如果您尚未安装 gcloud 命令行工具,请先安装。 请参阅 gcloud 安装说明
    2. 初始化 gcloud 工具:
      gcloud init
    3. gcloud 工具进行身份验证:
      gcloud auth login

在本地机器上安装 Cloud SQL Auth 代理客户端

您下载的 Cloud SQL Auth 代理二进制文件取决于您的操作系统,以及该系统使用的是 32 位还是 64 位内核。大多数较新的硬件使用的是 64 位内核。如果您不确定自己的机器运行的内核是否是 64 位,请使用 uname -a 命令(针对 Linux 或 macOS),或点击“开始”菜单中的计算机 > 属性(针对 Windows)。

Linux 64 位

  1. 下载 Cloud SQL Auth 代理:
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    
  2. 使 Cloud SQL Auth 代理可执行:
    chmod +x cloud_sql_proxy
    

Linux 32 位

  1. 下载 Cloud SQL Auth 代理:
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.386 -O cloud_sql_proxy
    
  2. 使 Cloud SQL Auth 代理可执行:
    chmod +x cloud_sql_proxy
    

macOS 64 位

  1. 下载 Cloud SQL Auth 代理:
    curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
    
  2. 使 Cloud SQL Auth 代理可执行:
    chmod +x cloud_sql_proxy
    

macOS 32 位

  1. 下载 Cloud SQL Auth 代理:
    curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.386
    
  2. 使 Cloud SQL Auth 代理可执行:
    chmod +x cloud_sql_proxy
    

Windows 64 位

右键点击 https://dl.google.com/cloudsql/cloud_sql_proxy_x64.exe,然后选择链接另存为以下载 Cloud SQL Auth 代理。将文件重命名为 cloud_sql_proxy.exe

Windows 32 位

右键点击 https://dl.google.com/cloudsql/cloud_sql_proxy_x86.exe,然后选择链接另存为以下载 Cloud SQL Auth 代理。将文件重命名为 cloud_sql_proxy.exe

Cloud SQL Auth 代理 Docker 映像

为方便起见,Cloud SQL 团队维护多个包含 Cloud SQL Auth 代理的容器映像,以供客户使用。如需详细了解这些映像,请参阅 GitHub 上的 Cloud SQL Auth 代理代码库。您可以通过 Docker 使用以下命令将最新映像拉取到本地机器:
docker pull gcr.io/cloudsql-docker/gce-proxy:1.19.1

其他操作系统

对于此处未列出的其他操作系统,您可以通过源代码编译 Cloud SQL Auth 代理

获取实例连接名称

  1. 转到“Cloud SQL 实例”页面
  2. 点击实例名称,打开其实例详情页面。
  3. 连接到此实例下,记下实例连接名称

启动 Cloud SQL Auth 代理

在专有的终端中启动 Cloud SQL Auth 代理,以便监控其输出。将 INSTANCE_CONNECTION_NAME 替换为您在上一步中复制的实例连接名称。

对于 Linux 环境,使用以下命令启动 Cloud SQL Auth 代理:

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:3306

在 Windows 中的 PowerShell 中,使用以下命令启动 Cloud SQL Auth 代理:

.\cloud_sql_proxy.exe -instances=INSTANCE_CONNECTION_NAME=tcp:3306

系统会显示类似以下内容的消息:

Listening on 127.0.0.1:3306 for myproject:myregion:myinstance.
Ready for new connections

使用 mysql 客户端连接到您的数据库

本部分是可选操作,但我们建议您执行,以便测试您的连接。请参阅 MySQL 安装说明

在不同于启动 Cloud SQL Auth 代理的终端窗口中,运行以下命令,注意将 <USERNAME> 替换为您的 MySQL 用户名。

mysql -u <USERNAME> -p --host 127.0.0.1 --port 3306

系统会显示 mysql 提示符,并且 Cloud SQL Auth 代理终端会显示类似于以下内容的消息:

New connection for "myproject:us-central1:myinstance"

清理

为避免系统因本快速入门中使用的资源向您的 Google Cloud 帐号收取费用,请按照以下步骤操作。

  1. 转到 Google Cloud Console 中的“Cloud SQL 实例”页面。
    转到“Cloud SQL 实例”页面
  2. 选择 myinstance 实例以打开实例详情页面。
  3. 在页面顶部的图标栏中,点击删除
  4. 删除实例窗口中输入 myinstance,然后点击删除以删除该实例。

    在删除实例后的大约 7 天内,您不能重新使用相应的实例名称。

后续步骤