将数据库迁移到 Cloud SQL for MySQL
本快速入门将向您介绍如何使用 Database Migration Service 将数据迁移到 Cloud SQL for MySQL。您可以迁移到新的 Cloud SQL 实例,也可以迁移到在 Database Migration Service 外部创建的现有实例。您还可以选择迁移来源中的所有数据库,或仅选择要迁移的特定数据库。如果您及时完成本快速入门中的步骤(包括清理),那么在此期间所创建资源的费用通常不会超过 1 美元。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud的新用户, 请创建一个账号,以便在 真实场景中评估我们产品的性能。新客户还可以获得 300 美元的免费抵用金,用于 运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 Google Cloud project.
-
启用 Database Migration Service API。
启用 API 所需的角色
如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (
roles/serviceusage.serviceUsageAdmin),该角色包含serviceusage.services.enable权限。了解如何授予角色。 - 确保您已将 Database Migration Admin 角色分配给您的用户账号。
要求
Database Migration Service 提供各种源数据库选项和连接方法。不同源使用某些连接方法的效果比使用其他方法更好。在本快速入门中,我们假设您在将网络配置为添加入站防火墙规则的环境中使用独立的 MySQL 数据库。源数据库可以位于本地,也可以位于云端服务提供商处。由于我们无法了解您的环境的具体情况,因此无法提供有关网络配置的详细步骤。
在本快速入门中,您将为源数据库引擎 选择 MySQL ,并选择 IP 许可名单 作为网络方法。
创建源连接配置文件
通过创建连接配置文件,您可以创建包含源数据库相关信息的记录。Database Migration Service 会使用连接配置文件中的信息将数据从源数据库迁移到目标 Cloud SQL 数据库实例。在 控制台 Google Cloud 中,前往 Database Migration Service 连接配置文件页面。
点击创建配置文件 。
在创建连接配置文件 页面,从配置文件角色 列表中选择来源 。
从数据库引擎 列表中,选择源数据库的以下分类类型之一:
- 独立的 MySQL 实例 (MySQL)
- 现有的 Cloud SQL for MySQL 实例 (Cloud SQL for MySQL)
- Amazon RDS for MySQL 实例 (Amazon RDS for MySQL)
在本快速入门中,请选择 MySQL 。
- 提供以下信息:
- 在连接配置文件名称 字段中,为源数据库的连接配置文件输入一个名称,例如
My Connection Profile。 - 保留自动生成的连接配置文件 ID 。
- 输入连接信息:
- 如果您要从自托管数据库进行复制,请输入主机名或 IP 地址 (网域或 IP)和端口 以访问主机。(默认 MySQL 端口为 3306。)
- 如果您要从 Cloud SQL 数据库进行复制,请从下拉列表中选择 Cloud SQL 实例。
- 输入用户名 和密码 ,对源实例进行身份验证。
- (可选)如果您计划通过公共网络(使用 IP 许可名单)传输敏感信息,我们建议对源数据库和目标数据库之间的连接使用SSL/TLS 加密。否则,请保留默认值无 。
- 在连接配置文件名称 字段中,为源数据库的连接配置文件输入一个名称,例如
在页面的连接配置文件区域 部分,选择您要在其中保存连接配置文件的区域。
- 点击创建 。
创建迁移作业
Database Migration Service 会使用迁移作业将数据从源数据库实例迁移到目标 Cloud SQL 数据库实例。创建迁移作业包括:
- 定义作业的设置
- 选择您为源数据库创建的连接配置文件(源连接配置文件)
- 定义目标 Cloud SQL 数据库实例的设置
- 设置源数据库实例和目标数据库实例之间的连接
- 测试迁移作业,以确保您为作业提供的连接信息有效
定义迁移作业的设置
在控制台中,前往 Database Migration Service 迁移作业页面。 Google Cloud
点击创建迁移作业 。
在迁移作业名称 字段中,为迁移作业输入名称,例如
My Migration Job。保留自动生成的迁移作业 ID 。
打开源数据库引擎 下拉列表,然后选择源数据库的分类类型。Database Migration Service 会自动选择目标数据库引擎 。
选择要创建目标实例的目标区域 。
将迁移服务类型 设置为“持续”,因为您希望将源数据库中正在进行的更改迁移到目标 Cloud SQL 数据库实例。
查看自动生成的必要前提条件,以反映如何为迁移作业准备环境。这些前提条件可能包括如何配置源数据库,以及如何将其连接到目标 Cloud SQL 数据库实例。最好在此步骤中完成这些前提条件,但您可以在测试迁移作业或启动迁移作业之前随时完成。如需详细了解这些前提条件,请参阅配置来源。
点击保存并继续 。
指定有关来源连接配置文件的信息
打开选择来源连接配置文件 下拉列表,然后选择您创建的连接配置文件。
点击保存并继续 。
定义目标 Cloud SQL 实例的设置
为 Cloud SQL 实例提供目标实例 ID 。默认情况下,此字段中会预先填充迁移作业 ID。您可以保留此名称,也可以输入其他名称。
为目标 Cloud SQL 实例提供字母数字密码。这将是实例中
root管理员账号的密码。您可以手动输入密码,也可以点击生成 以让 Database Migration Service 自动为您创建一个密码。
从指定数据库引擎支持的 Cloud SQL 版本列表中,为目标实例选择数据库版本 。
为新的 Cloud SQL 实例选择所需的 Google Cloud 可用区 (或保留“任意”)。
选中公共 IP 复选框,因为在本快速入门中,您将使用 IP 许可名单作为网络方法。此方法的工作原理是将源数据库服务器配置为接受来自 Cloud SQL 实例的传出 IP 地址的连接。
为 Cloud SQL 实例选择机器类型 。磁盘大小必须等于或大于源数据库大小。
定义 Cloud SQL 实例的存储类型 和存储容量 。
点击创建并继续 以创建新实例。
在后续对话框中,点击创建目标并继续 。 创建实例可能需要几分钟才能完成。
设置连接
- 选择您要在源数据库与目标数据库之间建立连接时使用的网络方法 。在本快速入门中,使用 连接方法 列表 选择 IP 许可名单 作为网络方法。
- 如果此字段中未预先填充源 IP 地址,请从控制台中复制 Cloud SQL
实例的传出 IP 地址,并用
它为源数据库服务器配置网络防火墙,以
接受来自该 IP 地址的连接。
- 在防火墙规则中,创建一个入站(或 Ingress)规则,以允许来自目标 Cloud SQL 实例的连接 IP 地址的端口 3306 上的连接。
- 点击配置并继续 以完成连接配置文件配置。
测试并创建迁移作业
查看您为迁移作业选择的设置。
点击测试作业 ,验证源实例是否已正确配置,源实例和目标实例是否能够相互通信,以及迁移作业是否有效。
验证您是否看到“测试已成功通过!”状态。
如果测试失败,您可以在流的适当部分解决问题,然后返回重新测试。
点击创建并启动作业 以创建迁移作业并立即启动。
在后续对话框中,点击启动 。
在迁移作业 页面中,验证迁移作业的状态是否为“正在启动”。几分钟后,确认状态变为“正在运行”。
验证迁移作业
在本部分中,您将确认 Database Migration Service 使用迁移作业将数据从源数据库实例迁移到目标 Cloud SQL 数据库实例。
- 在控制台中,前往 SQL 实例 页面 Google Cloud console。
- 点击迁移作业的读取副本条目。
- 点击页面右上区域中显示的激活 Cloud Shell 图标。
- 在 Google Cloud Shell 提示符处,按 Enter 键。
- 可选:如果系统显示为 Cloud Shell 提供授权 对话框,请点击授权 。
- 连接到目标 Cloud SQL 数据库实例。
- 在输入密码 提示符处,输入您在定义目标 Cloud SQL 实例的设置中提供的密码,或者 Database Migration Service 为您生成的密码。
- 在 mysql 提示符处,输入
show databases;以列出数据库,并验证您是否看到源数据库实例。 - 在 mysql 提示符处,输入
use source_database_instance_name;,因为您想要查看与此数据库实例关联的表。 - 在 mysql 提示符处,输入
show tables;以查看此实例的表。 - 在 mysql 提示符处,输入
select * from table_name;以查看从源数据库实例中的表复制的信息。 - 验证您是否在表中看到正确的信息。
这确认 Database Migration Service 已迁移数据。
提升迁移作业
您已准备好提升迁移作业。因此,目标 Cloud SQL 数据库实例将替换源数据库实例,成为主要数据库。
返回迁移作业 页面。
点击要提升的迁移作业。系统会显示迁移作业详情 页面。
等待复制延迟趋近于零。
停止对来源数据库执行的所有写入操作 。
等待复制延迟为零。
点击要提升的迁移作业。此作业的状态应为“正在运行”。
点击提升 以提升迁移作业。
在后续对话框中,再次点击提升 。
验证迁移作业的状态是否为“正在提升”。几分钟后,确认状态变为“已完成”。
新的 Cloud SQL 数据库实例已可供使用。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
- 使用 Google Cloud 控制台 删除您不需要的迁移作业、连接配置文件、Cloud SQL 实例和 项目。
后续步骤
- 详细了解 如何管理连接配置文件。
- 详细了解 迁移作业状态。
- 详细了解 迁移作业指标。