从本地计算机连接到 Cloud SQL for MySQL
了解如何使用 Cloud de Confiance 控制台和客户端应用在连接到 MySQL 实例的基于 Linux、macOS 或 Windows 的本地计算机上部署示例应用。
假设您及时完成所有步骤,则本快速入门中所创建资源的费用通常不会超过 1 美元 (USD)。
准备工作
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
- 验证您是否拥有完成本快速入门所需的权限。
-
启用在本地计算机上运行 Cloud SQL 示例应用所需的 Cloud API。
控制台
点击启用 API 按钮以启用本快速入门所需的 API。
这将启用以下 API:
- Cloud SQL Admin API
- IAM API
gcloud
安装 gcloud CLI,以通过命令行访问 Cloud de Confiance 资源。gcloud CLI 用于运行本快速入门中提供的
gcloud CLI命令。所有命令的格式均设置为在 Linux/macOS 终端或 Windows Powershell 中运行。打开终端并运行以下
gcloud命令:gcloud services enable sqladmin.googleapis.com iam.googleapis.com
此命令会启用以下 API:
- Cloud SQL Admin API
- IAM API
所需的角色
如需获得从本地计算机设置 Cloud SQL 所需的权限,请让管理员为您授予您要创建和连接到的项目的以下 IAM 角色:
-
创建或删除实例、数据库和用户:
Cloud SQL 管理员角色 (
roles/cloudsql.admin)。 -
创建或删除 IAM 服务账号:
IAM 服务账号管理员角色 (
roles/iam.serviceAccountAdmin)。 -
添加或移除 IAM 政策绑定:
项目 IAM 管理员角色 (
roles/resourcemanager.projectIamAdmin)。 - 创建、管理和轮替服务账号密钥: Service Account Key Admin (roles/iam.serviceAccountKeyAdmin)。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
设置 Cloud SQL
如需创建 Cloud SQL 实例,请执行以下操作:
-
在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。
- 选择“MySQL”标签页,然后点击沙盒框中的创建沙盒实例。或者,您也可以点击创建实例,然后完成以下步骤:
- 点击选择 MySQL。
- 选择企业版。
- 选择沙盒预设。
- 如果系统提示您启用 Compute API,请点击启用 API 按钮。
- 在实例信息部分,输入
quickstart-instance作为实例 ID。 - 为根用户输入密码。记下您创建的密码,稍后您将用到它。
- 在选择区域和可用区可用性部分中,选择单可用区选项。
- 点击创建实例。
创建数据库
控制台
-
在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。
- 选择
quickstart-instance。 - 打开数据库标签页。
- 点击创建数据库。
- 在创建数据库对话框中,输入
quickstart_db作为数据库的名称,并且可以选择性地指定字符集和排序规则。 - 点击创建。
gcloud
运行 gcloud
sql databases create 命令以创建数据库。
gcloud sql databases create quickstart_db --instance=quickstart-instance
创建用户
控制台
-
在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。
- 如需打开实例的概览页面,请点击实例名称。
- 从 SQL 导航菜单中选择用户。
- 点击添加用户账号。
- 在将一个用户账号添加到实例 instance_name 页面中,添加以下信息:
- 用户名:设为
quickstart-user - 密码:指定数据库用户的密码。记下此密码,以便在本快速入门的后续步骤中使用。
- 主机名部分的默认值为允许任何主机,这意味着用户可以从任何 IP 地址连接。
(可选)选择按 IP 地址或地址范围限制主机,然后在主机部分中输入 IP 地址或地址范围。然后,用户只能从指定的一个或多个 IP 地址进行连接。
- 用户名:设为
- 点击添加。
gcloud
替换以下内容:
- 将 PASSWORD 替换为您的数据库用户密码。记下此密码,以便在本快速入门的后续步骤中使用。
运行 gcloud sql users create 命令以创建用户。
gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD
Cloud SQL 和本地 MySQL 的用户名长度限制一样;MySQL 8.0 及更高版本为 32 个字符,更低版本为 16 个字符。
设置服务账号
控制台
创建服务账号
- 在 Cloud de Confiance 控制台中,前往创建服务账号页面。
- 选择一个 Cloud de Confiance 项目。
- 输入
quickstart-service-account作为服务账号名称。 - 可选:输入服务账号的说明。
- 点击创建并继续,然后继续执行下一步。
- 选择要在项目上授予服务账号的 Cloud SQL Client 角色。
- 点击继续。
- 点击完成以完成服务账号的创建。
创建并下载服务账号密钥文件
- 在 Cloud de Confiance 控制台中,打开服务账号页面。
- 选择一个项目。
- 点击要为其创建密钥的
quickstart-service-account服务账号的电子邮件地址。 - 点击密钥标签页。
- 点击添加密钥下拉菜单,然后选择创建新密钥。
- 选择 JSON 作为密钥类型,然后点击创建。
点击创建即会下载服务账号密钥文件。下载密钥文件后,您无法再次下载。
务必要安全存储密钥文件,因为它能够以服务账号的身份进行身份验证。您可以根据需要移动并重命名此文件。
gcloud
创建服务账号
- 如需创建服务账号,请运行
gcloud iam service-accounts create命令: DESCRIPTION:服务账号的可选说明- 要在项目上向服务账号授予 Cloud SQL Client 角色,请运行
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.s3ns.iam.gserviceaccount.com" --role="roles/cloudsql.client"
gcloud iam service-accounts create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"
替换以下值:
创建并下载服务账号密钥文件
要使用刚刚从本地计算机创建的服务账号,您需要一个服务账号密钥文件,以服务账号的身份对示例应用进行身份验证。如需创建和下载服务账号密钥文件,请运行 gcloud iam service-accounts keys create 命令:
gcloud iam service-accounts keys create KEY_FILE --iam-account=quickstart-service-account@PROJECT_ID.s3ns.iam.gserviceaccount.com
替换以下值:
-
KEY_FILE:私钥的新输出文件的路径,例如~/sa-private-key.json。 -
PROJECT_ID:您的 Google Cloud 项目 ID。
现在,服务账号密钥文件已下载到您的本地计算机上。下载密钥文件后,您无法再次下载。
务必要安全存储密钥文件,因为任何人都可以使用它以服务账号的身份进行身份验证。您可以根据需要移动并重命名此文件。
设置编程语言的开发环境
为您的首选编程语言设置本地计算机的开发环境。
Go
完成以下步骤,设置运行 Go 示例应用的开发环境。
- 转到 Go 开发环境设置指南。
- 完成安装 Go 部分中的说明。
Java
完成以下步骤,设置运行 Java 示例应用的开发环境。
- 转到 Java 开发环境设置指南。
- 完成安装 JDK(Java 开发套件)部分中的说明。
- 完成安装构建自动化工具中的说明来设置 Apache Maven。
Node.js
完成以下步骤,设置运行 Node.js 示例应用的开发环境。
- 转到 Node.js 开发环境设置指南。
- 完成安装 Node.js 和 npm 部分中的说明。
Python
完成以下步骤,设置运行 Python 示例应用的开发环境。
- 转到 Python 开发环境设置指南。
- 完成安装 Python 部分中的说明。
安装 Git
安装开源版本控制系统 Git。
克隆示例应用
使用 git clone 命令将示例应用克隆到本地计算机。
Go
运行以下命令,将 Go 示例应用克隆到本地计算机,并将目录更改为包含示例应用的目录。
- 克隆示例应用。
git clone https://github.com/GoogleCloudPlatform/golang-samples
-
将目录更改为包含示例应用的目录。
cd golang-samples/cloudsql/mysql/database-sql
Java
运行以下命令,将 Java 示例应用克隆到本地计算机,并将目录更改为包含示例应用的目录。
- 克隆示例应用。
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
-
将目录更改为包含示例应用的目录。
cd java-docs-samples/cloud-sql/mysql/servlet
Node.js
运行以下命令,将 Node.js 示例应用克隆到本地计算机,并将目录更改为包含示例应用的目录。
-
克隆示例应用。
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
-
将目录更改为包含示例应用的目录。
cd nodejs-docs-samples/cloud-sql/mysql/mysql
Python
运行以下命令,将 Python 示例应用克隆到本地计算机,并将目录更改为包含示例应用的目录。
-
克隆示例应用。
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
-
将目录更改为包含示例应用的目录。
cd python-docs-samples/cloud-sql/mysql/sqlalchemy
配置并运行示例应用
配置并运行示例应用。
清理
为避免因本页中使用的资源导致您的 Cloud de Confiance 账号产生费用,请按照以下步骤操作。
-
在 Cloud de Confiance 控制台中,前往 Cloud SQL 实例页面。
- 选择
quickstart-instance实例以打开实例详情页面。 - 在页面顶部的图标栏中,点击删除。
- 在删除实例对话框中,输入
quickstart-instance,然后点击删除以删除该实例。
可选的清理步骤
如果您未使用分配给 quickstart-service-account 服务账号的 Cloud SQL client 角色,则可以将其移除。
-
在 Cloud de Confiance 控制台中,打开服务账号页面。
- 点击名为 quickstart-service-account 的 IAM 账号的修改图标(形似铅笔)。
- 删除 Cloud SQL client 角色。
- 点击保存。
如果您没有使用在本快速入门中启用的 API,则可以将其停用。
- 在本快速入门中启用的 API:
- Cloud SQL Admin API
- Identity and Access Management API
在 Cloud de Confiance 控制台中,前往 API 页面。
选择您要停用的任何 API,然后点击停用 API 按钮。
后续步骤
您可以根据自己的需求详细了解如何创建 Cloud SQL 实例。您还可以了解如何为 Cloud SQL 实例创建 MySQL 用户和数据库。
如需详细了解价格,请参阅 Cloud SQL for MySQL 价格。
详细了解以下内容:
此外,您还可以了解如何从其他 Google Cloud 应用连接到 Cloud SQL 实例:
