本快速入门将向您展示如何使用 Database Migration Service 将数据迁移到 Cloud SQL for MySQL。如果您及时完成本快速入门中的步骤(包括清理),那么在此期间所创建资源的费用通常不会超过 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Database Migration Service API.
- 确保您已将 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 加密。否则,请保留默认值 None。
- 在连接配置文件名称字段中,为源数据库的连接配置文件输入一个名称,例如
在该页面的连接配置文件区域部分,选择您要在其中保存连接配置文件的区域。
- 点击创建。
创建迁移作业
Database Migration Service 会使用迁移作业将数据从源数据库实例迁移到目标 Cloud SQL 数据库实例。创建迁移作业包括以下步骤:
- 定义作业的设置
- 选择您为源数据库创建的连接配置文件(来源连接配置文件)
- 为目标 Cloud SQL 数据库实例定义设置
- 在源数据库实例和目标数据库实例之间建立连接
- 测试迁移作业,以确保您为作业提供的连接信息有效
定义迁移作业的设置
前往 Google Cloud 控制台中的 Database Migration Service“迁移作业”页面。
点击创建迁移作业。
在迁移作业名称字段中,为迁移作业输入名称,例如
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 地址的连接。
- 在防火墙规则中,创建入站(或入站)规则,以允许来自目标 Cloud SQL 实例的连接 IP 地址的端口 3306 上的连接。
- 点击配置并继续以完成连接配置文件配置。
测试并创建迁移作业
查看您为迁移作业选择的设置。
点击测试作业,验证源实例是否已正确配置,源实例和目标实例是否能够相互通信,以及迁移作业是否有效。
验证您是否看到“已成功通过测试!”状态。
如果测试失败,您可以在流的适当部分解决问题,然后返回重新测试。
点击创建并启动作业以创建迁移作业并立即启动。
在随后显示的对话框中,点击开始。
在迁移作业页面中,验证迁移作业的状态是否为“开始”。几分钟后,确认状态变为“正在运行”。
验证迁移作业
在本部分中,您将确认 Database Migration Service 使用迁移作业将数据从源数据库实例迁移到目标 Cloud SQL 数据库实例。
- 前往 Google Cloud 控制台中的 SQL 实例页面。
- 点击迁移作业的读取副本条目。
- 点击页面右上角显示的激活 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 实例和项目。
后续步骤
- 详细了解如何管理连接配置文件。
- 详细了解迁移作业状态。
- 详细了解迁移作业指标。