从 Compute Engine 连接到 Cloud SQL for MySQL

了解如何使用 Google Cloud 控制台和客户端应用在连接到 MySQL 实例的 Linux 或 Windows Compute Engine 虚拟机实例上部署示例应用。

假设您及时完成所有步骤,则本快速入门中所创建资源的费用通常不会超过 1 美元 (USD)。

准备工作

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. 启用在 Compute Engine 虚拟机实例上运行 Cloud SQL 示例应用所需的 Cloud API。

    点击启用 API 按钮以启用本快速入门所需的 API。

    启用 API

    这将启用以下 API:

    • Cloud SQL Admin API

    安装 gcloud CLI,以通过命令行访问 Google Cloud 资源。gcloud CLI 用于运行本快速入门中提供的 gcloud CLI 命令。所有命令均已格式化,可在终端或 Powershell 窗口中运行。

    运行以下 gcloud 命令:

    gcloud services enable sqladmin.googleapis.com

    此命令会启用以下 API:

    • Cloud SQL Admin API

设置 Cloud SQL

创建 Cloud SQL 实例

公共 IP

创建具有公共 IP 地址的实例

  1. 在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 点击创建实例
  3. 点击MySQL
  4. 实例 ID 字段中,输入 quickstart-instance
  5. 密码字段中,输入根用户的密码。保存此密码以供将来使用。
  6. 选择区域和可用区的可用性部分中,选择单个可用区
  7. 展开显示配置部分。
  8. 机器类型下拉列表中,选择轻量级
  9. 点击创建实例,然后等待实例初始化并启动。

创建具有公共 IP 地址的实例

按照以下方式运行 gcloud sql instances create 命令之前,请将 DB_ROOT_PASSWORD 替换为数据库用户的密码。

(可选)修改以下参数的值:

  • --database_version:数据库引擎类型和版本。 如果未指定,则使用 API 默认值。请参阅 gcloud 数据库版本文档,以查看当前可用版本。
  • --cpu:机器中所需的核心数。
  • --memory:表示机器所需内存数量的整数。应该提供大小单位(例如 3072MB 或 9GB)。如果未指定单位,则假定为 GB。
  • --region:实例的区域位置(例如 asia-east1、us-east1)。如果未指定,则使用默认值 us-central。 请参阅区域的完整列表。

运行 gcloud sql instances create 命令以创建 Cloud SQL 实例。

gcloud sql instances create quickstart-instance --database-version=MYSQL_8_0 --cpu=1 --memory=4GB --region=us-central1 --root-password=DB_ROOT_PASSWORD

分配 IP 地址范围并创建专用连接,以便为 Cloud SQL 配置专用服务访问通道

  1. 在 Google Cloud 控制台中,转到 VPC 网络页面。

    转到 VPC 网络页面

  2. 选择 default VPC 网络。
  3. 选择专用服务连接标签页。
  4. 选择为服务分配的 IP 范围标签页。
  5. 点击分配 IP 范围
  6. 对于已分配的范围的名称,请指定 google-managed-services-default
  7. 选择 IP 地址范围的自动选项,并将前缀长度指定为 16
  8. 点击分配以创建分配的范围。
  9. 选择 default VPC 网络的连到服务的专用连接标签页。
  10. 点击创建连接以在您的网络与服务提供方之间创建专用连接。
  11. 对于指定的分配范围,请选择 google-managed-services-default
  12. 点击连接以创建连接。

创建具有专用 IP 地址且启用了 SSL 的实例

  1. 在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 点击创建实例
  3. 点击MySQL
  4. 实例 ID 部分输入 quickstart-instance
  5. 为根用户输入密码。保存此密码以供将来使用。
  6. 选择区域和地区可用性中点击单个区域选项。
  7. 点击并展开显示配置选项
  8. 对于机器类型,选择轻量级
  9. 连接中,选择专用 IP
  10. 网络下拉菜单中,选择默认
  11. 取消选中公共 IP 复选框以创建仅使用专用 IP 地址的实例。
  12. 点击创建实例,然后等待实例初始化并启动。
  13. 点击连接
  14. 安全性部分中,选择仅允许 SSL 连接以启用 SSL 连接。
  15. 启用 SSL 对话框中,点击启用并重启,然后等待实例重启。

分配 IP 地址范围并创建专用连接,以便为 Cloud SQL 配置专用服务访问通道

  1. 运行 gcloud compute addresses create 命令以分配 IP 地址范围。

    gcloud compute addresses create google-managed-services-default --global --purpose=VPC_PEERING --prefix-length=16 --description="peering range for Google" --network=default
  2. 运行 gcloud services vpc-peerings connect 命令以创建与分配的 IP 地址范围的专用连接。将 YOUR_PROJECT_ID 替换为您的项目 ID。

    gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com --ranges=google-managed-services-default --network=default --project=YOUR_PROJECT_ID

创建具有专用 IP 地址且启用了 SSL 的实例

  1. 按照以下方式运行命令之前,请将 DB_ROOT_PASSWORD 替换为数据库用户的密码。

  2. (可选)修改以下参数的值:

    • --database_version:数据库引擎类型和版本。 如果未指定,则使用 API 默认值。请参阅 gcloud 数据库版本文档,以查看当前可用版本。
    • --cpu:机器中的核心数。
    • --memory:指示机器要包括多少内存的整数。可以提供大小单位(例如 3072MB 或 9GB)。如果未指定单位,则假定为 GB。
    • --region:实例的区域位置(例如 asia-east1、us-east1)。如果未指定,则使用默认值 us-central1。 请参阅区域的完整列表。

    运行 gcloud sql instances create 命令以创建具有专用 IP 地址的 Cloud SQL 实例。

    gcloud beta sql instances create quickstart-instance --database-version=MYSQL_8_0 --cpu=1 --memory=4GB --region=us-central1 --root-password=DB_ROOT_PASSWORD --no-assign-ip --network=default
  3. 运行 gcloud sql instances patch 命令来为实例启用仅允许 SSL 连接

  4. gcloud sql instances patch quickstart-instance --require-ssl

创建数据库

  1. 在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 quickstart-instance
  3. 打开数据库标签页。
  4. 点击创建数据库
    1. 创建数据库对话框中,输入 quickstart_db 作为数据库的名称,并且可以选择性地指定字符集和排序规则。
    2. 点击创建

运行 gcloud sql databases create 命令以创建数据库。

gcloud sql databases create quickstart_db --instance=quickstart-instance

创建用户

  1. 在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 从 SQL 导航菜单中选择用户
  4. 点击添加用户账号
    • 将一个用户账号添加到实例 instance_name 页面中,添加以下信息:
      • 用户名:设为 quickstart-user
      • 密码:指定数据库用户的密码。记下此密码,以便在本快速入门的后续步骤中使用。
      • 主机名部分的默认值为允许任何主机,这意味着用户可以从任何 IP 地址连接。

        (可选)选择按 IP 地址或地址范围限制主机,然后在主机部分中输入 IP 地址或地址范围。然后,用户只能从指定的一个或多个 IP 地址进行连接。

  5. 点击添加

在运行以下命令之前,请先进行以下替换:

  1. PASSWORD 替换为您的数据库用户密码。记下此密码,以便在本快速入门的后续步骤中使用。

运行 gcloud sql users create 命令以创建用户。

gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD

Cloud SQL 和本地 MySQL 的用户名长度限制一样;MySQL 8.0 及更高版本为 32 个字符,更低版本为 16 个字符。

配置 Compute Engine 服务账号

创建并配置具有 Cloud SQL Client 角色并有权连接到 Cloud SQL 的 Google Cloud 服务账号。 创建服务账号后,您可能需要等待 60 秒或更长时间才能使用该服务账号。

创建服务账号

  1. 在 Google Cloud 控制台中,转到创建服务账号页面。
  2. 打开“创建服务账号”

  3. 选择 Google Cloud 项目。
  4. 输入 quickstart-service-account 作为服务账号名称。
  5. 可选:输入服务账号的说明。
  6. 点击创建并继续,然后继续执行下一步。
  7. 选择要授予项目的服务账号的 Cloud SQL Client 角色。
  8. 点击添加其他角色,然后选择 Storage Object Viewer 角色以授予项目的服务账号。
  9. 点击继续
  10. 点击完成以完成服务账号的创建。

创建服务账号

  1. 如需创建服务账号,请运行 gcloud iam service-accounts create 命令:
  2. gcloud iam service-accounts create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"

    替换以下值:

    • DESCRIPTION:服务账号的可选说明
  3. 要向您的服务账号授予 Cloud SQL Client 角色和 Storage Object Viewer 角色,请运行 gcloud projects add-iam-policy-binding 命令。将 PROJECT_ID 替换为您的 Google Cloud 项目 ID:
    gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:quickstart-service-account@PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudsql.client" --role="roles/storage.objectViewer"

创建 Compute Engine 虚拟机实例

创建 Compute Engine 虚拟机实例,以托管连接到 Cloud SQL 的示例 Web 应用。

创建 Linux 虚拟机实例

  1. 在 Google Cloud 控制台中,进入虚拟机实例页面。

    进入“虚拟机实例”

  2. 点击创建实例按钮。
  3. 对于虚拟机实例的名称,输入 quickstart-vm-instance
  4. 对于服务账号,请选择 quickstart-service-account
  5. 对于防火墙,选择允许 HTTP 流量选项。
  6. 点击创建以创建虚拟机实例。

在运行以下命令之前,请先将 YOUR_PROJECT_ID 替换为您的项目 ID。

运行以下 gcloud compute instances create 命令:

gcloud compute instances create quickstart-vm-instance --image-family=debian-10 --image-project=debian-cloud  --machine-type=e2-medium --service-account=quickstart-service-account@YOUR_PROJECT_ID.iam.gserviceaccount.com --scopes=https://www.googleapis.com/auth/cloud-platform --tags=http-server --zone=us-central1-a
  1. 在 Google Cloud 控制台中,进入虚拟机实例页面。

    进入“虚拟机实例”

  2. 点击创建实例按钮。
  3. 对于虚拟机实例的名称,输入 quickstart-vm-instance
  4. 对于启动磁盘,请点击更改按钮。
    1. 对于操作系统,请选择 Windows Server
    2. 对于版本,请选择 Windows Server 2022 Datacenter
    3. 点击选择按钮。
  5. 对于服务账号,请选择 quickstart-service-account
  6. 对于防火墙,选择允许 HTTP 流量选项。
  7. 点击创建以创建虚拟机实例。
  8. 虚拟机实例启动 2-3 分钟后,点击虚拟机实例详情页面上的设置 Windows 密码按钮。
  9. 复制此密码并将其保存在安全的位置,因为在本快速入门的下一步中,您将使用此密码访问虚拟机实例。

在运行以下命令之前,请先将 YOUR_PROJECT_ID 替换为您的项目 ID。

在终端窗口中运行以下 gcloud compute instances create 命令:

gcloud compute instances create quickstart-vm-instance --image-project=windows-cloud --image-family=windows-2022 --machine-type=e2-medium --service-account=quickstart-service-account@YOUR_PROJECT_ID.iam.gserviceaccount.com --scopes=https://www.googleapis.com/auth/cloud-platform --tags=http-server --zone=us-central1-a

虚拟机实例启动 2-3 分钟后,请运行以下命令,在虚拟机实例上设置 Windows 密码。

gcloud compute reset-windows-password quickstart-vm-instance

复制此密码并将其保存在安全的位置,因为在本快速入门的下一步中,您将使用此密码访问虚拟机实例。

访问 Compute Engine 虚拟机实例

访问 Linux 虚拟机实例

  • 在 Google Cloud 控制台中,转到虚拟机实例页面。

    进入“虚拟机实例”

  • 在虚拟机实例列表中,点击要连接的实例所在行中的 SSH

    实例名称旁边的 SSH 按钮。

  • 注意:使用 Google Cloud 控制台连接到虚拟机时,Compute Engine 会为您创建临时 SSH 密钥。如需详细了解 SSH 密钥,请参阅与 Linux 虚拟机的 SSH 连接

    使用 gcloud compute ssh 命令连接到 Linux 虚拟机实例。请将 YOUR_PROJECT_ID 替换为您的项目 ID:

    gcloud compute ssh --project=YOUR_PROJECT_ID --zone=us-central1-a quickstart-vm-instance

    Chrome RDP for Google Cloud 是一款第三方插件,可让您使用 Chrome 浏览器连接到 Windows 实例。该插件已与 Google Cloud 控制台集成。安装该插件后,使用 RDP中的 RDP 按钮连接到任何 Windows Server 实例。

    要使用 Chrome RDP 插件进行连接,请执行以下操作:

    1. 安装 Chrome RDP for Google Cloud 扩展程序
    2. 在 Google Cloud 控制台中,转到虚拟机实例页面,然后找到您要连接的 Windows 实例。
    3. 进入“虚拟机实例”页面

    4. 点击您要连接到的实例的 RDP 按钮。Chrome RDP 扩展程序随即打开。
    5. 由于您的虚拟机实例没有配置网域,因此您可以将网域字段留空
    6. 输入您的用户名和密码,然后点击确定进行连接。
    7. 如果看到系统提示,请按继续接受证书。

    如需了解访问 Compute Engine Windows 虚拟机实例的更多选项,请参阅使用 RDP 连接到 Windows 虚拟机

    设置编程语言的开发环境

    设置适合您的首选编程语言的 Compute Engine 虚拟机实例开发环境。

    设置 Linux 虚拟机实例开发环境

    完成以下步骤,设置 Compute Engine 虚拟机实例的开发环境以运行 Go 示例应用。

    1. 转到 Go 开发环境设置指南
    2. 完成安装 Go 部分中的说明。

    完成以下步骤,设置 Compute Engine 虚拟机实例的开发环境以运行 Java 示例应用。

    1. 转到 Java 开发环境设置指南
    2. 完成安装 JDK(Java 开发套件)部分中的说明。
    3. 完成安装构建自动化工具中的说明来设置 Apache Maven。

    完成以下步骤,设置 Compute Engine 虚拟机实例的开发环境以运行 Node.js 示例应用。

    1. 转到 Node.js 开发环境设置指南
    2. 完成安装 Node.js 和 npm 部分中的说明。

    完成以下步骤,设置 Compute Engine 虚拟机实例的开发环境以运行 Python 示例应用。

    1. 转到 Python 开发环境设置指南
    2. 完成安装 Python 部分中的说明。

    完成以下步骤,设置 Compute Engine 虚拟机实例的开发环境以运行 Go 示例应用。

    1. 转到 Go 开发环境设置指南
    2. 完成安装 Go 部分中的说明。

    完成以下步骤,设置 Compute Engine 虚拟机实例的开发环境以运行 Java 示例应用。

    1. 转到 Java 开发环境设置指南
    2. 完成安装 JDK(Java 开发套件)部分中的说明。
    3. 完成安装构建自动化工具部分中的说明来设置 Apache Maven。

    完成以下步骤,设置 Compute Engine 虚拟机实例的开发环境以运行 Node.js 示例应用。

    1. 转到 Node.js 开发环境设置指南
    2. 完成安装 Node.js 和 npm 部分中的说明。

    完成以下步骤,设置 Compute Engine 虚拟机实例的开发环境以运行 Python 示例应用。

    1. 安装 Python 和 Python 版 PIP 软件包管理系统。
      1. 转到 Python 开发环境设置指南
      2. 完成安装 Python 部分中的说明。
        1. 按照上述说明访问 Python Releases for Windows 下载页面。在该页面中,点击 Latest Python 3 Release 链接。
        2. 在 Python 3.X.X 页面上,点击 Windows Installer 64-bit 链接,以将安装程序文件下载到 Windows Compute Engine 虚拟机实例。
        3. 将 Python 安装程序下载到虚拟机实例后,打开包含所下载文件的文件夹。然后,右键点击安装程序文件并选择 Run as administrator
        4. 在显示的 Install Python(安装 Python)对话框中,选择 Add Python 3.XX to PATH(将 Python 3.X.X 添加到路径)选项,然后点击 → Install Now(→ 立即安装)。
    2. 使用 PIP 安装 virtualenv。
      1. 在 Windows Compute Engine 虚拟机实例上打开 Powershell,然后运行以下 pip install 命令。
      2. pip install virtualenv

    安装 Git

    在 Compute Engine 虚拟机实例上安装 Git,这是一种开源版本控制系统。

    Compute Engine Linux 虚拟机实例

    在您的 Compute Engine Linux 虚拟机实例上,按照官方的 Linux 版 Git 安装文档进行操作。

    • 使用 sudo 命令前缀运行建议的 Debian/Ubuntu install git 命令,以管理员身份运行该命令。要在终端中运行的完整安装命令应如下设置格式:
    • sudo apt-get install git

    在您的 Compute Engine Windows 虚拟机实例上,按照官方的 Windows 版 Git 安装文档下载 64 位独立安装程序并运行该安装程序来安装 Git。

    克隆示例应用

    使用 git clone 命令将示例应用克隆到 Compute Engine 虚拟机实例。

    在 Compute Engine 虚拟机实例上,打开一个新终端或 Powershell 窗口。运行以下命令以克隆 Go 示例应用并将目录更改为包含此示例应用的目录。

    1. 克隆示例应用。
      git clone https://github.com/GoogleCloudPlatform/golang-samples
    2. 将目录更改为包含示例应用的目录。
      cd golang-samples/cloudsql/mysql/database-sql

    在 Compute Engine 虚拟机实例上,打开一个新终端或 Powershell 窗口。运行以下命令以克隆 Java 示例应用并将目录更改为包含此示例应用的目录。

    1. 克隆示例应用。
      git clone https://github.com/GoogleCloudPlatform/java-docs-samples
    2. 将目录更改为包含示例应用的目录。
      cd java-docs-samples/cloud-sql/mysql/servlet

    在 Compute Engine 虚拟机实例上,打开一个新终端或 Powershell 窗口。运行以下命令以克隆 Node.js 示例应用并将目录更改为包含此示例应用的目录。

    1. 克隆示例应用。
      git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
    2. 将目录更改为包含示例应用的目录。
      cd nodejs-docs-samples/cloud-sql/mysql/mysql

    在 Compute Engine 虚拟机实例上,打开一个新终端或 Powershell 窗口。运行以下命令以克隆 Python 示例应用并将目录更改为包含此示例应用的目录。

    1. 克隆示例应用。
      git clone https://github.com/GoogleCloudPlatform/python-docs-samples
    2. 将目录更改为包含示例应用的目录。
      cd python-docs-samples/cloud-sql/mysql/sqlalchemy

    配置并运行 Cloud SQL 示例应用

    借助具有客户端权限的 Cloud SQL 实例、数据库和服务账号,您现在可以配置在 Compute Engine 虚拟机实例上运行的示例应用,以连接到 Cloud SQL 实例。

    公共 IP Cloud SQL 实例和 Linux Compute Engine 虚拟机

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    export INSTANCE_CONNECTION_NAME='INSTANCE_CONNECTION_NAME'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令,将 Go 示例应用的依赖项添加到 Compute Engine 虚拟机实例并运行该示例应用。

    1. 获取运行示例应用所需的依赖项。
      go get ./...
    2. 运行示例应用。
      go run cmd/app/main.go

    在本地计算机上,获取运行示例应用的 Compute Engine 虚拟机实例的外部 IP 地址,并在浏览器中查看该地址。

    1. 在终端或本地机器上的 Powershell 中,运行以下 gcloud compute instances describe 命令来获取 Compute Engine 虚拟机实例的外部 IP 地址:
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 查看正在运行的示例应用。在本地计算机上打开浏览器,然后转到 Compute Engine 虚拟机实例的外部 IP 地址和端口:8080。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例终端中按 Control+C

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    export INSTANCE_CONNECTION_NAME='INSTANCE_CONNECTION_NAME'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令,将 Java 示例应用的依赖项添加到 Compute Engine 虚拟机实例并运行该示例应用。

    mvn jetty:run

    在本地计算机上,获取运行示例应用的 Compute Engine 虚拟机实例的外部 IP 地址,并在浏览器中查看该地址。

    1. 在终端或本地机器上的 Powershell 中,运行以下 gcloud compute instances describe 命令来获取 Compute Engine 虚拟机实例的外部 IP 地址:
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 查看正在运行的示例应用。在本地计算机上打开浏览器,然后转到 Compute Engine 虚拟机实例的外部 IP 地址和端口:8080。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例终端中按 Control+C

    1. 在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

      • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
      export INSTANCE_HOST='127.0.0.1'
      export DB_PORT='3306'
      export DB_NAME='quickstart_db'
      export DB_USER='quickstart-user'
      export DB_PASS='YOUR_DB_PASSWORD'
    2. 下载 Cloud SQL Auth 代理。
      curl -o cloud-sql-proxy \
      https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.0.0/cloud-sql-proxy.linux.amd64
    3. 设置权限,将 Cloud SQL Auth 代理文件设为可执行。
      chmod +x cloud-sql-proxy
    4. 将 Cloud SQL Auth 代理作为后台进程运行。将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
      ./cloud-sql-proxy INSTANCE_CONNECTION_NAME &

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令,将所需的 Node.js 软件包添加到 Compute Engine 虚拟机实例上并运行该示例应用。

    1. 安装本地运行应用所需的 Node.js 软件包。
      npm install
    2. 运行示例应用。
      npm start

    在本地计算机上,获取运行示例应用的 Compute Engine 虚拟机实例的外部 IP 地址,并在浏览器中查看该地址。

    1. 在终端或本地机器上的 Powershell 中,运行以下 gcloud compute instances describe 命令来获取 Compute Engine 虚拟机实例的外部 IP 地址:
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 查看正在运行的示例应用。在本地计算机上打开浏览器,然后转到 Compute Engine 虚拟机实例的外部 IP 地址和端口:8080。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例终端中按 Control+C

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    export INSTANCE_CONNECTION_NAME='INSTANCE_CONNECTION_NAME'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令,将 Python 示例应用的所需项添加到 Compute Engine 虚拟机实例并运行该示例应用。

    1. 初始化虚拟环境并安装运行示例应用的所需项。
      python3 -m venv env
      source env/bin/activate
      pip install -r requirements.txt
    2. 运行示例应用。
      python app.py

    在本地计算机上,通过执行后续快速入门步骤中的说明来设置通过 SSH 进行端口转发。这让您可以使用本地计算机上的浏览器查看在 Compute Engine 虚拟机实例上运行的应用。

    1. 在本地计算机上的终端或 Powershell 中,运行以下 gcloud compute ssh 命令,通过 SSH 设置端口转发。在运行该命令之前,请将 YOUR_PROJECT_ID 替换为您的项目 ID。
    2. gcloud compute ssh quickstart-vm-instance --project=YOUR_PROJECT_ID --zone=us-central1-a --ssh-flag='-L 8000:127.0.0.1:8080'
    3. 查看正在运行的示例应用。端口转发主动运行时,在本地计算机上打开浏览器,然后在浏览器的地址栏中输入 http://127.0.0.1:8000

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例终端中按 Control+C

    在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    $env:INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"

    在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令,将 Go 示例应用的依赖项安装到 Compute Engine 虚拟机实例上并运行该示例应用。

    1. 获取运行示例应用所需的依赖项。
      go get ./...
    2. 运行示例应用。
      go run cmd\app\main.go
    3. 查看正在运行的示例应用。在 Compute Engine 虚拟机实例上打开浏览器,然后转到 http://127.0.0.1:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例 Powershell 窗口中按 Control+C

    在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    $env:INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"
    1. 在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令,将 Java 示例应用的依赖项安装到 Compute Engine 虚拟机实例上并运行该示例应用。

      mvn jetty:run
    2. 查看正在运行的示例应用。在 Compute Engine 虚拟机实例上打开浏览器,然后转到 http://127.0.0.1:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例 Powershell 窗口中按 Control+C

    1. 在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

      • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
      $env:INSTANCE_HOST="127.0.0.1"
      $env:DB_PORT="3306"
      $env:DB_NAME="quickstart_db"
      $env:DB_USER="quickstart-user"
      $env:DB_PASS="YOUR_DB_PASSWORD"
    2. 下载 Cloud SQL Auth 代理。
      wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.0.0/cloud-sql-proxy.x64.exe `
      -O cloud-sql-proxy.exe
    3. 将 Cloud SQL Auth 代理作为后台进程运行。将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
      Start-Process -filepath  ".\cloud-sql-proxy.exe" -ArgumentList `
      "INSTANCE_CONNECTION_NAME"

    在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令,将所需的 Node.js 软件包添加到 Compute Engine 虚拟机实例上并运行该示例应用。

    1. 安装本地运行应用所需的 Node.js 软件包。
      npm install
    2. 运行示例应用。
      npm start
    3. 查看正在运行的示例应用。在 Compute Engine 虚拟机实例上打开浏览器,然后转到 http://127.0.0.1:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例 Powershell 窗口中按 Control+C

    在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    $env:INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"

    在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令,将 Python 示例应用的所需项安装到 Compute Engine 虚拟机实例上并运行该示例应用。

    1. 初始化虚拟环境并安装运行示例应用的所需项。
      virtualenv --python python3 env
      .\env\Scripts\activate
      pip install -r requirements.txt
    2. 运行示例应用。
      python app.py
    3. 查看正在运行的示例应用。在 Compute Engine 虚拟机实例上打开浏览器,然后转到 http://127.0.0.1:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例 Powershell 窗口中按 Control+C

    创建 SSL 服务器和客户端证书并将其下载到本地计算机

    1. 在 Google Cloud 控制台中,进入 Cloud SQL 实例页面。

      转到“Cloud SQL 实例”

    2. 点击 quickstart-instance 以查看其概览页面
    3. 点击连接标签页。
    4. 安全部分下,点击创建客户端证书
    5. 创建客户端证书对话框中,输入 quickstart-key 作为名称,然后点击创建
    6. 已创建新的 SSL 证书对话框中,点击每个下载链接以下载证书。然后,点击关闭

    将 SSL 证书上传到 Cloud Storage 存储桶

    在本地计算机上的浏览器中,创建 Cloud Storage 存储桶并将 SSL 证书上传到该存储桶,然后可以从 Compute Engine 虚拟机实例访问该存储桶中的这些证书。

    1. 创建 Cloud Storage 存储桶
      1. 存储桶名称中,输入以下名称。请将 YOUR_PROJECT_ID 替换为您的项目 ID。
        YOUR_PROJECT_ID-quickstart-certs
      2. 点击创建按钮以创建该存储桶。
    2. 点击上传文件按钮,将文件上传到新创建的 Cloud Storage 存储桶。
    3. 选择要从本地计算机上传到 Cloud Storage 的以下文件:
      • server-ca.pem
      • client-cert.pem
      • client-key.pem

    在本地计算机上的终端或 Powershell 窗口中,前往下载了 SSL 证书的目录,您现在可以创建一个 Cloud Storage 存储桶,并将 SSL 证书上传到该存储桶,然后可从 Compute Engine 虚拟机实例访问该存储桶中的证书。将使用 gcloud CLI 上传文件。

    1. 运行以下 gcloud storage buckets create 命令以创建新的 Cloud Storage 存储桶:
    2. gcloud storage buckets create gs://YOUR_PROJECT_ID-quickstart-certs --location=us-central1
    3. 从本地机器上的证书下载目录中,运行以下 gcloud storage cp 命令,将 SSL 证书复制到新创建的 Cloud Storage 存储桶中:
    4. gcloud storage cp server-ca.pem gs://YOUR_PROJECT_ID-quickstart-certs/
      gcloud storage cp client-cert.pem gs://YOUR_PROJECT_ID-quickstart-certs/
      gcloud storage cp client-key.pem gs://YOUR_PROJECT_ID-quickstart-certs/

    在 Compute Engine 虚拟机实例上使用 gcloud CLI 下载 SSL 证书

    在 Compute Engine 虚拟机实例上的终端中,前往 golang-samples/cloudsql/mysql/database-sql 目录,运行以下 gcloud storage cp 命令将 SSL 证书从 Cloud Storage 下载到 certs 目录。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    在 Compute Engine 虚拟机实例上设置环境变量

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_HOST 设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的专用 IP 地址
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    export INSTANCE_HOST='INSTANCE_HOST'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'
    export DB_ROOT_CERT='certs/server-ca.pem'
    export DB_CERT='certs/client-cert.pem'
    export DB_KEY='certs/client-key.pem'
    export PRIVATE_IP='TRUE'

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令,将 Go 示例应用的依赖项添加到 Compute Engine 虚拟机实例并运行该示例应用。

    1. 获取运行示例应用所需的依赖项。
      go get ./...
    2. 运行示例应用。
      go run cmd/app/main.go

    在本地计算机上,获取运行示例应用的 Compute Engine 虚拟机实例的外部 IP 地址,并在浏览器中查看该地址。

    1. 在终端或本地机器上的 Powershell 中,运行以下 gcloud compute instances describe 命令来获取 Compute Engine 虚拟机实例的外部 IP 地址:
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 查看正在运行的示例应用。在本地计算机上打开浏览器,然后转到 Compute Engine 虚拟机实例的外部 IP 地址和端口:8080。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例终端中按 Control+C

    在 Compute Engine 虚拟机实例上使用 gcloud CLI 下载 SSL 证书

    在 Compute Engine 虚拟机实例上的终端中,前往 java-docs-samples/cloud-sql/mysql/servlet 目录,运行以下 gcloud storage cp 命令将 SSL 证书从 Cloud Storage 下载到当前目录。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem .
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem .
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem .

    配置要在 Compute Engine 虚拟机实例上的 Java 中使用的 SSL 证书

    1. 在 Compute Engine 虚拟机实例上的终端中,运行以下命令,使用 keytool 将服务器证书导入自定义 Java 信任库。在运行以下命令之前,将 TRUST_CERT_KEYSTORE_PASSWD 替换为您自己的自定义密钥库密码,以用于创建 Java 信任库。
    2. keytool -importcert -alias MySQLCACert -file server-ca.pem \
      -keystore quickstart-truststore -storepass TRUST_CERT_KEYSTORE_PASSWD
    3. 在 Compute Engine 虚拟机实例终端中运行以下命令,以使用 openssl 和 keytool 将客户端证书和密钥导入自定义 Java 密钥库。在运行以下命令之前,将 CLIENT_CERT_KEYSTORE_PASSWD 替换为您自己的自定义客户端密钥库密码,以用于创建 Java 客户端密钥库。
    4. 将客户端密钥文件和证书文件转换为 PKCS #12 归档文件:

      openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem \
      -name "mysqlclient" -passout pass:CLIENT_CERT_KEYSTORE_PASSWD \
      -out client-keystore.p12

      将客户端密钥和证书导入 Java 密钥库:

      keytool -importkeystore -srckeystore client-keystore.p12 -srcstoretype pkcs12 \
      -srcstorepass CLIENT_CERT_KEYSTORE_PASSWD -destkeystore quickstart-keystore \
      -deststoretype JKS -deststorepass CLIENT_CERT_KEYSTORE_PASSWD

    在 Compute Engine 虚拟机实例上设置环境变量

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_HOST 设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的专用 IP 地址
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    export INSTANCE_HOST='INSTANCE_HOST'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'
    export TRUST_CERT_KEYSTORE_PATH='quickstart-truststore'
    export TRUST_CERT_KEYSTORE_PASSWD='TRUST_CERT_KEYSTORE_PASSWD'
    export CLIENT_CERT_KEYSTORE_PATH='quickstart-keystore'
    export CLIENT_CERT_KEYSTORE_PASSWD='CLIENT_CERT_KEYSTORE_PASSWD'
    export PRIVATE_IP='TRUE'

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令,将 Java 示例应用的依赖项添加到 Compute Engine 虚拟机实例并运行该示例应用。

    mvn jetty:run

    在本地计算机上,获取运行示例应用的 Compute Engine 虚拟机实例的外部 IP 地址,并在浏览器中查看该地址。

    1. 在终端或本地机器上的 Powershell 中,运行以下 gcloud compute instances describe 命令来获取 Compute Engine 虚拟机实例的外部 IP 地址:
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 查看正在运行的示例应用。在本地计算机上打开浏览器,然后转到 Compute Engine 虚拟机实例的外部 IP 地址和端口:8080。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例终端中按 Control+C

    在 Compute Engine 虚拟机实例上使用 gcloud CLI 下载 SSL 证书

    在 Compute Engine 虚拟机实例上的终端中,前往 nodejs-docs-samples/cloud-sql/mysql/mysql 目录,运行以下 gcloud storage cp 命令将 SSL 证书从 Cloud Storage 下载到 certs 目录。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    在 Compute Engine 虚拟机实例上设置环境变量

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_HOST 设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的专用 IP 地址
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    export INSTANCE_HOST='INSTANCE_HOST'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'
    export DB_ROOT_CERT='certs/server-ca.pem'
    export DB_CERT='certs/client-cert.pem'
    export DB_KEY='certs/client-key.pem'
    export PRIVATE_IP='TRUE'

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令,将所需的 Node.js 软件包添加到 Compute Engine 虚拟机实例上并运行该示例应用。

    1. 安装本地运行应用所需的 Node.js 软件包。
      npm install
    2. 运行示例应用。
      npm start

    在本地计算机上,获取运行示例应用的 Compute Engine 虚拟机实例的外部 IP 地址,并在浏览器中查看该地址。

    1. 在终端或本地机器上的 Powershell 中,运行以下 gcloud compute instances describe 命令来获取 Compute Engine 虚拟机实例的外部 IP 地址:
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 查看正在运行的示例应用。在本地计算机上打开浏览器,然后转到 Compute Engine 虚拟机实例的外部 IP 地址和端口:8080。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例终端中按 Control+C

    在 Compute Engine 虚拟机实例上使用 gcloud CLI 下载 SSL 证书

    在 Compute Engine 虚拟机实例上的终端中,前往 python-docs-samples/cloud-sql/mysql/sqlalchemy 目录,运行以下 gcloud storage cp 命令将 SSL 证书从 Cloud Storage 下载到 certs 目录。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    在 Compute Engine 虚拟机实例上设置环境变量

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_HOST 设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的专用 IP 地址
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    export INSTANCE_HOST='INSTANCE_HOST'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'
    export DB_ROOT_CERT='certs/server-ca.pem'
    export DB_CERT='certs/client-cert.pem'
    export DB_KEY='certs/client-key.pem'
    export PRIVATE_IP='TRUE'

    在 Compute Engine 虚拟机实例上的已打开终端中,运行以下命令,将 Python 示例应用的所需项添加到 Compute Engine 虚拟机实例并运行该示例应用。

    1. 初始化虚拟环境并安装运行示例应用的所需项。
      python3 -m venv env
      source env/bin/activate
      pip install -r requirements.txt
    2. 运行示例应用。
      python app.py

    在本地计算机上,通过执行后续快速入门步骤中的说明来设置通过 SSH 进行端口转发。这让您可以使用本地计算机上的浏览器查看在 Compute Engine 虚拟机实例上运行的应用。

    1. 在本地计算机上的终端或 Powershell 中,运行以下 gcloud compute ssh 命令,通过 SSH 设置端口转发。在运行该命令之前,请将 YOUR_PROJECT_ID 替换为您的项目 ID。
    2. gcloud compute ssh quickstart-vm-instance --project=YOUR_PROJECT_ID --zone=us-central1-a --ssh-flag='-L 8000:127.0.0.1:8080'
    3. 查看正在运行的示例应用。端口转发主动运行时,在本地计算机上打开浏览器,然后在浏览器的地址栏中输入 http://127.0.0.1:8000

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例终端中按 Control+C

    创建 SSL 服务器和客户端证书并将其下载到本地计算机

    1. 在 Google Cloud 控制台中,进入 Cloud SQL 实例页面。

      转到“Cloud SQL 实例”

    2. 点击 quickstart-instance 以查看其概览页面
    3. 点击连接标签页。
    4. 安全部分下,点击创建客户端证书
    5. 创建客户端证书对话框中,输入 quickstart-key 作为名称,然后点击创建
    6. 已创建新的 SSL 证书对话框中,点击每个下载链接以下载证书。然后,点击关闭

    将 SSL 证书上传到 Cloud Storage 存储桶

    在本地计算机上的浏览器中,创建 Cloud Storage 存储桶并将 SSL 证书上传到该存储桶,然后可以从 Compute Engine 虚拟机实例访问该存储桶中的这些证书。

    1. 创建 Cloud Storage 存储桶
      1. 存储桶名称中,输入以下名称。请将 YOUR_PROJECT_ID 替换为您的项目 ID。
        YOUR_PROJECT_ID-quickstart-certs
      2. 点击创建按钮以创建该存储桶。
    2. 点击上传文件按钮,将文件上传到新创建的 Cloud Storage 存储桶。
    3. 选择要从本地计算机上传到 Cloud Storage 的以下文件:
      • server-ca.pem
      • client-cert.pem
      • client-key.pem

    在本地计算机上的终端或 Powershell 窗口中,前往下载了 SSL 证书的目录,您现在可以创建一个 Cloud Storage 存储桶,并将 SSL 证书上传到该存储桶,然后可从 Compute Engine 虚拟机实例访问该存储桶中的证书。将使用 gcloud CLI 上传文件。

    1. 运行以下 gcloud storage buckets create 命令以创建新的 Cloud Storage 存储桶:
    2. gcloud storage buckets create gs://YOUR_PROJECT_ID-quickstart-certs --location=us-central1
    3. 从本地机器上的证书下载目录中,运行以下 gcloud storage cp 命令,将 SSL 证书复制到新创建的 Cloud Storage 存储桶中:
    4. gcloud storage cp server-ca.pem gs://YOUR_PROJECT_ID-quickstart-certs/
      gcloud storage cp client-cert.pem gs://YOUR_PROJECT_ID-quickstart-certs/
      gcloud storage cp client-key.pem gs://YOUR_PROJECT_ID-quickstart-certs/

    在 Compute Engine 虚拟机实例上使用 gcloud CLI 下载 SSL 证书

    在 Compute Engine 虚拟机实例上的 Powershell 窗口中,前往 golang-samples/cloudsql/mysql/database-sql 目录,运行以下 gcloud storage cp 命令将 SSL 证书从 Cloud Storage 下载到 certs 目录。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    在 Compute Engine 虚拟机实例上设置环境变量

    在 Compute Engine 虚拟机实例上的 Powershell 窗口中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_HOST 设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的专用 IP 地址
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    $env:INSTANCE_HOST="INSTANCE_HOST"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"
    $env:DB_ROOT_CERT="certs/server-ca.pem"
    $env:DB_CERT="certs/client-cert.pem"
    $env:DB_KEY="certs/client-key.pem"
    $env:PRIVATE_IP="TRUE"

    在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令,将 Go 示例应用的依赖项安装到 Compute Engine 虚拟机实例上并运行该示例应用。

    1. 获取运行示例应用所需的依赖项。
      go get ./...
    2. 运行示例应用。
      go run cmd\app\main.go
    3. 查看正在运行的示例应用。在 Compute Engine 虚拟机实例上打开浏览器,然后转到 http://127.0.0.1:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例 Powershell 窗口中按 Control+C

    在 Compute Engine 虚拟机实例上使用 gcloud CLI 下载 SSL 证书

    在 Compute Engine 虚拟机实例上的 Powershell 窗口中,前往 java-docs-samples/cloud-sql/mysql/servlet 目录,运行以下 gcloud storage cp 命令将 SSL 证书从 Cloud Storage 下载到当前目录。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem .
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem .
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem .

    配置要在 Compute Engine 虚拟机实例上的 Java 中使用的 SSL 证书

    1. 在 Compute Engine 虚拟机实例上的 Powershell 中,运行以下命令,使用 keytool 将服务器证书导入自定义 Java 信任库。在运行以下命令之前,将 TRUST_CERT_KEYSTORE_PASSWD 替换为您自己的自定义密钥库密码,以用于创建 Java 信任库。
    2. keytool -importcert -alias MySQLCACert -file server-ca.pem `
      -keystore quickstart-truststore -storepass TRUST_CERT_KEYSTORE_PASSWD
    3. 在 Compute Engine 虚拟机实例 Powershell 窗口中运行以下命令,以使用 openssl 和 keytool 将客户端证书和密钥导入自定义 Java 密钥库。在运行以下命令之前,将 CLIENT_CERT_KEYSTORE_PASSWD 替换为您自己的自定义客户端密钥库密码,以用于创建 Java 客户端密钥库。
    4. 将客户端密钥文件和证书文件转换为 PKCS #12 归档文件:

      openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem `
      -name "mysqlclient" -passout pass:CLIENT_CERT_KEYSTORE_PASSWD `
      -out client-keystore.p12

      将客户端密钥和证书导入 Java 密钥库:

      keytool -importkeystore -srckeystore client-keystore.p12 -srcstoretype pkcs12 `
      -srcstorepass CLIENT_CERT_KEYSTORE_PASSWD -destkeystore quickstart-keystore `
      -deststoretype JKS -deststorepass CLIENT_CERT_KEYSTORE_PASSWD

    在 Compute Engine 虚拟机实例上设置环境变量

    在 Compute Engine 虚拟机实例上的 Powershell 窗口中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_HOST 设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的专用 IP 地址
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    $env:INSTANCE_HOST="INSTANCE_HOST"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"
    $env:TRUST_CERT_KEYSTORE_PATH="quickstart-truststore"
    $env:TRUST_CERT_KEYSTORE_PASSWD="TRUST_CERT_KEYSTORE_PASSWD"
    $env:CLIENT_CERT_KEYSTORE_PATH="quickstart-keystore"
    $env:CLIENT_CERT_KEYSTORE_PASSWD="CLIENT_CERT_KEYSTORE_PASSWD"
    $env:PRIVATE_IP="TRUE"
    1. 在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令,将 Java 示例应用的依赖项安装到 Compute Engine 虚拟机实例上并运行该示例应用。

      mvn jetty:run
    2. 查看正在运行的示例应用。在 Compute Engine 虚拟机实例上打开浏览器,然后转到 http://127.0.0.1:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例 Powershell 窗口中按 Control+C

    在 Compute Engine 虚拟机实例上使用 gcloud CLI 下载 SSL 证书

    在 Compute Engine 虚拟机实例上的 Powershell 窗口中,前往 nodejs-docs-samples/cloud-sql/mysql/mysql 目录,运行以下 gcloud storage cp 命令将 SSL 证书从 Cloud Storage 下载到 certs 目录。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    在 Compute Engine 虚拟机实例上设置环境变量

    在 Compute Engine 虚拟机实例上的 Powershell 窗口中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_HOST 设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的专用 IP 地址
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    $env:INSTANCE_HOST="INSTANCE_HOST"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"
    $env:DB_ROOT_CERT="certs/server-ca.pem"
    $env:DB_CERT="certs/client-cert.pem"
    $env:DB_KEY="certs/client-key.pem"
    $env:PRIVATE_IP="TRUE"

    在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令,将所需的 Node.js 软件包添加到 Compute Engine 虚拟机实例上并运行该示例应用。

    1. 安装本地运行应用所需的 Node.js 软件包。
      npm install
    2. 运行示例应用。
      npm start
    3. 查看正在运行的示例应用。在 Compute Engine 虚拟机实例上打开浏览器,然后转到 http://127.0.0.1:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例 Powershell 窗口中按 Control+C

    在 Compute Engine 虚拟机实例上使用 gcloud CLI 下载 SSL 证书

    在 Compute Engine 虚拟机实例上的 Powershell 窗口中,前往 python-docs-samples/cloud-sql/mysql/sqlalchemy 目录,运行以下 gcloud storage cp 命令将 SSL 证书从 Cloud Storage 下载到 certs 目录。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    在 Compute Engine 虚拟机实例上设置环境变量

    在 Compute Engine 虚拟机实例上的 Powershell 窗口中,运行以下命令以初始化运行示例应用所需的环境变量。在运行这些命令之前,请进行以下替换:

    • INSTANCE_HOST 设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的专用 IP 地址
    • YOUR_DB_PASSWORD 替换为您在之前的创建用户快速入门步骤中创建的 quickstart-user 的密码。
    $env:INSTANCE_HOST="INSTANCE_HOST"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"
    $env:DB_ROOT_CERT="certs/server-ca.pem"
    $env:DB_CERT="certs/client-cert.pem"
    $env:DB_KEY="certs/client-key.pem"
    $env:PRIVATE_IP="TRUE"

    在 Compute Engine 虚拟机实例上的已打开 Powershell 窗口中,运行以下命令,将 Python 示例应用的所需项安装到 Compute Engine 虚拟机实例上并运行该示例应用。

    1. 初始化虚拟环境并安装运行示例应用的所需项。
      virtualenv --python python3 env
      .\env\Scripts\activate
      pip install -r requirements.txt
    2. 运行示例应用。
      python app.py
    3. 查看正在运行的示例应用。在 Compute Engine 虚拟机实例上打开浏览器,然后转到 http://127.0.0.1:8080

      查看已部署的示例应用

    要停止示例应用,请在启动示例应用的 Compute Engine 虚拟机实例 Powershell 窗口中按 Control+C

    清理

    为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。

    删除 Cloud SQL 实例

    1. 在 Google Cloud 控制台中,进入 Cloud SQL 实例页面。

      转到“Cloud SQL 实例”

    2. 选择 quickstart-instance 实例以打开实例详情页面。
    3. 在页面顶部的图标栏中,点击删除
    4. 删除实例对话框中,输入 quickstart-instance,然后点击删除以删除该实例。

    删除 Compute Engine 虚拟机实例

    1. 在 Google Cloud 控制台中,进入虚拟机实例页面。

      进入“虚拟机实例”

    2. 选择 quickstart-vm-instance 实例以打开实例详情页面。
    3. 在页面顶部的图标栏中,点击删除
    4. 点击删除以删除实例。

    可选的清理步骤

    如果您未使用分配给 Compute Engine default 服务账号的 Cloud SQL client 角色,则可以将其移除。

    1. 在 Google Cloud 控制台中,前往 IAM 页面。

      进入 IAM

    2. 点击名为 Compute Engine 默认服务账号的 IAM 账号对应的修改图标(铅笔图案)。
    3. 删除 Cloud SQL client 角色。
    4. 点击保存

    如果您没有使用在本快速入门中启用的 API,则可以将其停用。

    • 在本快速入门中启用的 API:
      • Cloud SQL Admin API
    1. 在 Google Cloud 控制台中,转到 API 页面。

      转到“API”

    2. 选择您要停用的任何 API,然后点击停用 API 按钮。

    后续步骤

    您可以根据自己的需求详细了解如何创建 Cloud SQL 实例

    您还可以了解如何为 Cloud SQL 实例创建 MySQL 用户数据库

    如需详细了解价格,请参阅 Cloud SQL for MySQL 价格

    详细了解以下内容:

    • 使用公共 IP 地址配置 Cloud SQL 实例。
    • 使用专用 IP 地址配置 Cloud SQL 实例。

    此外,您还可以了解如何从其他 Google Cloud 应用连接到 Cloud SQL 实例: