实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

使用持续的 Database Migration Service 作业迁移本地 MySQL

实验 1 小时 30 分钟 universal_currency_alt 1 个点数 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP860

Google Cloud 自学实验的徽标

概览

Database Migration Service 提供一次性迁移和持续迁移两种作业模式,支持通过多种连接方式将数据迁移到 Cloud SQL,包括 IP 许可清单、VPC 对等互连和反向 SSH 隧道(有关连接方式的文档,请参阅配置连接指南)。

在本实验中,您将通过持续 Database Migration Service 作业,使用 VPC 对等互连连接方式,将运行在虚拟机上的本地 MySQL 数据库迁移到 Cloud SQL for MySQL。

创建并运行迁移作业后,您需要确认数据库的初始副本已成功迁移到 Cloud SQL for MySQL 实例。您还将探索持续迁移作业如何将源数据库中的数据更新应用到 Cloud SQL 实例。迁移作业的最后一步,您需要将 Cloud SQL 实例提升为可独立读写数据的数据库。

您将执行的操作

在本实验中,您将学习如何配置持续 Database Migration Service 作业,将数据库从 MySQL 实例迁移到 Cloud SQL for MySQL。

  • 为源 MySQL 实例(例如本地 MySQL)创建连接配置文件。
  • 使用 VPC 对等互连配置源数据库实例和目标数据库实例之间的连接。
  • 使用 Database Migration Service 创建、运行和验证持续迁移作业。
  • 将目标实例 (Cloud SQL for MySQL) 提升为可独立读写数据的数据库。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

  2. 在弹出的窗口中执行以下操作:

    • 继续完成 Cloud Shell 信息窗口中的设置。
    • 授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。

如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID 。输出内容中有一行说明了此会话的 Project_ID

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

输出:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需查看在 Google Cloud 中使用 gcloud 的完整文档,请参阅 gcloud CLI 概览指南

验证 Database Migration API 是否已启用

  1. 在 Google Cloud 控制台的顶部搜索栏中输入 Database Migration API。点击搜索结果中的 Database Migration API

此页面将显示状态信息或提供启用该 API 的选项。

  1. 如有必要,请启用该 API。

验证 Service Networking API 是否已启用

  1. 在 Google Cloud 控制台的顶部搜索栏中输入 Service Networking API。点击搜索结果中的 Service Networking API

此页面将显示状态信息或提供启用该 API 的选项。

  1. 如有必要,请启用该 API。

任务 1. 获取 MySQL 源实例的连接信息

在此任务中,您需要确定要迁移到 Cloud SQL 的源数据库实例的内部 IP 地址。

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,依次点击 Compute Engine > 虚拟机实例

  2. 找到 dms-mysql-training-vm-v2 实例所在的行。

  3. 复制内部 IP 字段的值(例如 10.128.0.2)。

任务 2. 为 MySQL 源实例创建新的连接配置文件

连接配置文件中存储着有关源数据库实例(例如本地 MySQL)的信息,Database Migration Service 使用连接配置文件将数据从源实例迁移到目标 Cloud SQL 数据库实例。创建连接配置文件后,可以在迁移作业中重复使用此配置文件。

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,点击查看所有产品。在“数据库”部分下,依次点击数据库迁移 > 连接配置文件

  2. 点击创建配置文件

  3. 创建连接配置文件页面,从配置文件角色列表中选择来源

  4. 对于数据库引擎,选择 MySQL

  5. 输入连接配置文件所需的信息:

属性
连接配置文件名称 mysql-vm
连接配置文件 ID 保留自动生成的值
主机名或 IP 地址 输入您在上一个任务中复制的 MySQL 源实例的内部 IP(例如 10.128.0.2)
端口 3306
用户名 admin
密码 changeme
  1. 对于连接配置文件区域,选择

  2. 对于加密类型,选择

  3. 点击创建

一个名为 mysql-vm 的新连接配置文件即会显示在连接配置文件列表中。

点击“检查我的进度”以验证是否完成了以下目标 为 MySQL 源实例创建连接配置文件。

任务 3. 创建并启动持续迁移作业

在创建新的迁移作业时,首先需要使用先前创建的连接配置文件定义源数据库实例。然后,创建一个新的目标数据库实例,并配置源实例与目标实例之间的连接。

在此任务中,您需要使用迁移作业界面来创建一个新的 Cloud SQL for MySQL 数据库实例,并将其设置为 MySQL 源实例持续迁移作业的目标。

创建新的持续迁移作业

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,点击查看所有产品。在“数据库”部分下,依次点击数据库迁移 > 迁移作业

  2. 点击创建迁移作业

  3. 创建迁移作业开始标签页中使用以下值:

属性
迁移作业名称 vm-to-cloudsql
迁移作业 ID 保留自动生成的值
源数据库引擎 MySQL
目标区域
迁移作业类型 持续

所有其他设置均保留值。

  1. 点击保存并继续

定义源实例

  1. 对于选择源端连接配置文件,选择 mysql-vm

  2. 其他设置均保留默认值。

  3. 点击保存并继续

创建目标实例

  1. 输入在 Cloud SQL 上创建目标实例所需的信息:
属性
目标实例的类型 新实例
目标实例 ID mysql-cloudsql
root 密码 supersecret!
  1. 对于选择 Cloud SQL 版本,选择企业版

  2. 对于数据库版本,选择 Cloud SQL for MySQL 5.7

  3. 对于可用区级可用性,选择单个可用区。然后,点击显示可用区下拉菜单,并选择可用区

  4. 连接部分,选择专用 IP公共 IP

  5. 选择使用自动分配的 IP 范围

  6. 点击分配并连接

注意:此步骤可能需要几分钟时间。如果系统要求您重试请求,请点击“重试”按钮以刷新 Service Networking API。

完成此步骤后,一条更新消息将会显示,告知您该实例将使用现有的托管式服务连接。

  1. 输入在 Cloud SQL 上创建目标实例所需的其他信息:
属性
机器类型 1 个 vCPU,3.75 GB 内存
存储类型 SSD
存储空间容量 10 GB
  1. 点击创建并继续

如果系统提示您确认,请点击创建目标并继续

指定连接方法

系统会显示一条消息,指出正在创建您的目标数据库实例。在等待期间,继续执行第 1 步。

消息指出,在目标 Cloud SQL 实例创建完成后,“配置并继续”按钮将会启用。

  1. 对于连接方法,选择 VPC 对等互连

  2. 对于 VPC,选择默认

Database Migration Service 会使用您为 VPC 网络(在本例中为默认网络)提供的信息配置 VPC 对等互连。

当您看到指出目标实例创建完成的更新消息后,请继续执行下一步。

  1. 点击配置并继续

测试并启动持续迁移作业

  1. 查看迁移作业的详细信息。

  2. 点击测试作业

  3. 在测试成功后,点击创建并启动作业

如果系统提示您确认,请点击创建并启动

任务 4. 查看持续迁移作业的状态

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,点击查看所有产品。在“数据库”部分下,依次点击数据库迁移 > 迁移作业

  2. 点击迁移作业 vm-to-cloudsql,查看详情页面。

  3. 查看迁移作业状态。

    • 如果作业尚未启动,状态会显示为尚未开始。您可以选择启动或删除作业。
    • 作业启动后,状态将显示为“正在启动”,然后变为正在运行(完全转储),表示正在执行初始数据库转储

当作业状态变为正在运行时,继续执行下一项任务。

注意:持续迁移作业会一直处于运行状态,以确保目标数据库能够持续接收来自源数据库的数据更新。

当目标数据库提升为可独立读写数据的数据库后(请参阅任务 7),状态会显示为“已完成”。

点击“检查我的进度”以验证是否完成了以下目标 创建、启动和查看持续迁移作业。

任务 5. 确认 Cloud SQL for MySQL 中的数据

查看 Cloud SQL 中的 MySQL 数据库

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,点击 Cloud SQL

  2. 点击实例 ID mysql-cloudsql(MySQL 读取副本)。

  3. 副本实例菜单中,点击数据库

可以看到,名为 customers_datasales_data 的数据库已迁移到 Cloud SQL。

连接到 MySQL 实例

  1. 副本实例菜单中,点击概览

  2. 点击打开 Cloud Shell

Cloud Shell 中会预先填充用于连接到 MySQL 的命令:

gcloud sql connect mysql-cloudsql --user=root --quiet
  1. 运行预先填充的命令。

如果出现提示,请点击授权以使用 API。

  1. 当系统提示输入密码时,请输入您之前设置的密码:
supersecret!

您现在已激活目标实例的 MySQL 交互式控制台。

查看 Cloud SQL for MySQL 实例中的数据

  1. 若要在 MySQL 交互式控制台中选择数据库,请运行以下命令:
use customers_data;
  1. 查询 customers 表中的记录数:
select count(*) from customers;

customers 表中有 5,030 条记录是从 MySQL 源实例迁移过来的。

  1. 按姓氏对 customers 表中的记录进行排序,然后查看前 10 条记录:
select * from customers order by lastName limit 10;

可以看到,customers 表中第一条记录的姓氏为 Accumsan。

在下一个任务中,您将向源数据库实例中的 customers 表添加新记录。持续迁移作业会将源实例中的新记录迁移到目标实例。

  1. 退出 MySQL 交互式控制台:
exit

点击“检查我的进度”以验证是否完成了以下目标 确认 Cloud SQL for MySQL 中的已迁移数据。

任务 6. 测试数据是否持续从源实例迁移到目标实例

向源实例添加新数据

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,依次点击 Compute Engine > 虚拟机实例

  2. 找到 dms-mysql-training-vm-v2 实例所在的行。

  3. 对于连接,点击 SSH 以打开终端窗口。

  4. 运行以下命令,在终端窗口中连接到 MySQL 交互式控制台:

mysql -u admin -p
  1. 当系统提示输入密码时,请输入以下密码:
changeme
  1. 若要在 MySQL 交互式控制台中选择数据库,请运行以下命令:
use customers_data;
  1. 使用以下命令向 customers 表中添加两条新数据记录:
INSERT INTO customers (customerKey, addressKey, title, firstName, lastName, birthdate, gender, maritalStatus, email, creationDate) VALUES ('9365552000000-999', '9999999', 'Ms', 'Magna', 'Ablorem', '1953-07-28 00:00:00', 'FEMALE', 'MARRIED', 'magna.lorem@gmail.com', CURRENT_TIMESTAMP), ('9965552000000-9999', '99999999', 'Mr', 'Arcu', 'Abrisus', '1959-07-28 00:00:00', 'MALE', 'MARRIED', 'arcu.risus@gmail.com', CURRENT_TIMESTAMP);
  1. 查询 customers 表中的新记录数:
select count(*) from customers;

现在,MySQL 源实例中的 customers 表有 5,032 条记录。

  1. 按姓氏对 customers 表中的记录进行排序,然后查看前 10 条记录:
select * from customers order by lastName limit 10;

可以看到,customers 表中第一条记录的姓氏已更改为 Ablorem。

  1. 退出 MySQL 交互式控制台:
exit
  1. 退出终端会话:
exit

连接到 Cloud SQL for MySQL 实例

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,点击 Cloud SQL

  2. 点击实例 ID mysql-cloudsql(MySQL 读取副本)。

  3. 副本实例菜单中,点击概览

  4. 点击打开 Cloud Shell

Cloud Shell 中会预先填充用于连接到 MySQL 的命令:

gcloud sql connect mysql-cloudsql --user=root --quiet
  1. 运行预先填充的命令。

如果出现提示,请点击授权以使用 API。

  1. 当系统提示输入密码时,请输入您之前设置的密码:
supersecret!

您现在已激活目标实例的 MySQL 交互式控制台。

检查数据更新是否已应用于 Cloud SQL for MySQL 实例

  1. 若要在 MySQL 交互式控制台中选择数据库,请运行以下命令:
use customers_data;
  1. 查询 customers 表中的记录数:
select count(*) from customers;

可以看到,添加到 MySQL 源实例的两条记录已迁移过来。现在,Cloud SQL 目标实例中的 customers 表有 5,032 条记录。

  1. 按姓氏对 customers 表中的记录进行排序,然后查看前 10 条记录:
select * from customers order by lastName limit 10;

可以看到,Cloud SQL 目标实例和 MySQL 源实例中 customers 表的第一条记录的姓氏现在相同。

  1. 退出 MySQL 交互式控制台:
exit

点击“检查我的进度”以验证是否完成了以下目标 测试数据是否持续从源实例迁移到目标实例。

任务 7. 将 Cloud SQL 提升为可独立读写数据的数据库

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,点击查看所有产品。在“数据库”部分下,依次点击数据库迁移 > 迁移作业

  2. 点击迁移作业名称 vm-to-cloudsql,查看详情页面。

  3. 点击升级

如果系统提示您确认,请点击提升

提升完毕后,作业的状态将更新为“已完成”

  1. 在 Google Cloud 控制台的导航菜单 (“导航菜单”图标) 中,点击 Cloud SQL

可以看到,mysql-cloudsql 现在已是可独立读写数据的数据库。

实例 mysql-cloudsql 已标记为主实例。

点击“检查我的进度”以验证是否完成了以下目标 将 Cloud SQL for MySQL 提升为可独立读写数据的数据库。

恭喜!

您已使用持续的 Database Migration Service 作业和 VPC 对等互连连接方法,将一个本地 MySQL 数据库(在虚拟机上运行)迁移到 Cloud SQL for MySQL。

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2025 年 10 月 28 日

上次测试实验的时间:2025 年 10 月 28 日

版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。