数据复制服务(Data Replication Service,简称DRS)支持将本地MySQL数据库的数 据迁移至本云云数据库MySQL实例。通过DRS提供的实时迁移任务,实现在数据库迁 移过程中业务和数据库不停机,业务中断时间最小化。
本章节主要介绍了通过DRS将本地MySQL数据库实时迁移至本云云数据库MySQL的任 务配置流程。支持以下网络类型:
● VPN(Virtual Private Network,虚拟专用网络)网络
● 公网网络
网络示意图
图2-47 VPN 网络
图2-48 公网网络+SSL 安全连接
迁移流程
图2-49 迁移流程图
迁移建议(重要)
● 数据库迁移与环境多样性和人为操作均有密切关系,为了确保迁移的平顺,建议 您在进行正式的数据库迁移之前进行一次演练,可以帮助您提前发现问题并解决 问题,如何最小化对数据库的影响请参考如下建议。
● 强烈建议您在启动任务时选择“稍后启动”功能,将启动时间设置在业务低峰 期,相对静止的数据可以有效提升一次性迁移成功率,避免迁移对业务造成性能 影响。
迁移须知(重要)
须知
在创建迁移任务之前,请您务必仔细阅读迁移须知。
参考《数据复制服务实时迁移》中具体链路的“使用须知”。
迁移准备
1. 权限准备:
当使用 DRS 将本地数据库的数据迁移到本云云数据库MySQL 实例时,在不同迁 移类型情况下,对源数据库和目标数据库的帐号权限要求如表2-27所示:
表2-27 迁移帐号权限
迁移类型 全量迁移 全量+增量迁移
源数据库 SELECT、SHOW
VIEW、EVENT。 SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。
目标数据库 SELECT、CREATE、
ALTER、DROP、
DELETE、INSERT、
UPDATE、INDEX、
EVENT、CREATE VIEW、CREATE
ROUTINE、TRIGGER、
WITH GRANT OPTION。
SELECT、CREATE、
ALTER、DROP、
DELETE、INSERT、
UPDATE、INDEX、
EVENT、CREATE VIEW、CREATE
ROUTINE、TRIGGER、
WITH GRANT OPTION。
– 源数据库的权限设置:
需要确保源数据库MySQL的帐号具备表2-27的权限,若权限不足,需要在源 数据库端创建高权限的帐号。
– 目标数据库的权限设置:
本云云数据库MySQL使用初始帐号即可。
2. 网络准备:
– 源数据库的网络设置:
本地MySQL数据库实时迁移至本云云数据库MySQL的场景,一般可以使用 VPN网络和公网网络两种方式进行迁移,您可以根据实际情况为本地MySQL 数据库开放公网访问或建立VPN访问。一般推荐使用公网网络进行迁移,该 方式下的数据迁移过程较为方便和经济。
– 目标数据库的网络设置:
▪
若通过VPN访问,请先开通华为VPN服务,确保源数据库MySQL和目标 端本云云数据库MySQL的网络互通。▪
若通过公网网络访问,本云云数据库MySQL实例不需要进行任何设置。3. 安全规则准备:
a. 源数据库的安全规则设置:
▪
若通过公网网络进行迁移,源数据库MySQL需要将DRS迁移实例的弹性 公网IP添加到其网络白名单内,使源数据库与本云的网络互通。在设置 网络白名单之前,需要获取DRS迁移实例的弹性公网IP,具体方法如 下:DRS迁移实例创建成功后,可在“源库及目标库”页面获取DRS迁移实 例的弹性公网IP。
图2-50 迁移实例 EIP
▪
若通过VPN网络进行迁移,源数据库MySQL需要将DRS迁移实例的私有 IP添加到其网络白名单内,使源数据库与本云的网络互通。DRS迁移实 例创建成功后,可在“源库及目标库”页面获取DRS迁移实例的私有 IP。以上白名单是为了进行迁移针对性设置的,迁移结束后可以删除。
b. 目标数据库安全组规则设置:
目标数据库默认与DRS迁移实例处在同一个VPC,网络是互通的,DRS可以直 接写入数据到目标数据库,不需要进行任何设置。
4. 其他事项准备。
DRS支持部分与业务和性能强相关的参数迁移,具体参数列表请参见参数列表。
若涉及其他参数需要根据用户具体的业务进行手动设置。
迁移步骤
以下操作以公网网络迁移的方式为例,指导您通过DRS将本地MySQL数据库实时迁移 至本云云数据库MySQL。
步骤1 创建迁移任务。
1. 登录管理控制台,在服务列表中选择“数据库 > 数据复制服务”,进入数据复制 服务信息页面。
2. 在“实时迁移管理”页面,单击右上角“创建迁移任务”,进入迁移任务信息页 面。
3. 在“迁移实例”页面,填选任务信息和迁移实例信息。
图2-51 迁移实例信息
表2-28 任务和描述
参数 描述
区域 当前所在区域,可进行切换。
参数 描述
网络类型 选择公网网络。建议您开启SSL安全连接,SSL约降低 20-30%的迁移性能,但保证了数据的安全性。
目标数据库实例 选择您所创建的目标MySQL实例。
4. 在“源库及目标库”信息页面,迁移实例创建成功后,填选源库信息和目标库信 息,单击“源库和目标库”处的“测试连接”,分别测试并确定与源库和目标库 连通后,勾选协议,单击“下一步”。
图2-52 源和目标库信息
表2-30 源库信息
参数 描述
IP地址或域名 配置源数据库MySQL实例的访问地址或域名。
端口 配置源数据库MySQL实例的服务端口,可输入范围为 1~65535间的整数。
数据库用户名 访问源数据库MySQL的用户名。
数据库密码 访问源数据库MySQL的用户名所对应的密码。
SSL安全连接 在选择公网网络进行迁移任务时,为了提升数据在网络传输 过程中的安全性,建议您开启SSL安全连接,对迁移链路进 行加密,如果开启,需要您上传CA证书。
表2-31 目标库信息
参数 描述
数据库实例名称 默认为创建迁移任务时选择的已创建的MySQL实例,不可进 行修改。
数据库用户名 访问目标端MySQL实例的用户名。
参数 描述
数据库密码 访问目标端MySQL实例的用户名所对应的密码。
所有Definer迁
移到该用户下 – 是
迁移后,所有源数据库对象的Definer都会迁移至该用户 下,其他用户需要授权后才具有数据库对象权限,如何授 权请参考《数据复制服务常见问题》中的MySQL迁移中 Definer强制转化后如何维持原业务用户权限体系章节。
– 否迁移后,将保持源数据库对象Definer定义不变,选择此 选项,需要配合下一步用户权限迁移功能,将源数据库的 用户全部迁移,这样才能保持源数据库的权限体系完全不 变。
5. 在“迁移设置”页面,设置流速模式、迁移用户和迁移对象。
图2-53 迁移对象
表2-32 迁移模式和迁移对象-公网
流速的大小需要根据业务场景来设置,不能超过9999Mb/s。
– 不限速:对迁移速度不进行限制,通常会最大化使用源数据库 的出口带宽。该流速模式同时会对源数据库造成读消耗,消耗 取决于源数据库的出口带宽。比如源数据库的出口带宽为 100Mb/s,假设高速模式使用了80%带宽,则迁移对源数据库 将造成80Mb/s的读操作IO消耗。
说明 DATABAS E
实时同步过程中,源数据库端执行的DDL操作在一定程度上会影响 数据的同步能力,为了降低同步数据的风险,数据复制服务提供了 过滤DDL操作的功能。
目前支持默认过滤删除数据库的操作。
参数 描述
一般情况下,对于常规参数,如果源库和目标库存在不一致的情况,建议将 目标数据库的参数值通过“一键修改”按钮修改为和源库对应参数相同的 值。
图2-55 修改常规参数
对于性能参数,您可以根据业务场景,自定义源数据库和目标库的参数值,
二者结果可以一致也可以不一致。
▪
若您需要将对比结果一致的性能参数修改为不一致,需要在“目标库值 调整为”一列手动输入结果,单击左上角“一键修改”按钮,即可将源 数据库和目标数据库对应的性能参数值改为不一致。▪
若您想将对比结果不一致的参数改为一致结果,请参考如下流程进行修 改:1) 对齐源库和目标库的参数值。
当源库和目标库对应的参数值出现不一致时,选择需要修改的参 数,单击“一键对齐”按钮,系统将帮您自动填充目标数据库的参 数值,使其和源库对应的参数值保持一致。
图2-56 一键对齐参数
说明
对齐参数值的操作,您也可以通过手动输入结果。
2) 修改参数值。
源库和目标库的不一致参数值对齐后,单击“一键修改”按钮,系 统将按照您当前设置的目标库参数值进行修改。修改完成后,目标 库的参数值和对比结果会自动进行更新。
图2-57 修改性能参数
部分参数修改后无法在目标数据库立即生效,需要重启才能生效,
此时的对比结果显示为“待重启,不一致”。建议您在迁移任务启 动之前重启目标数据库,或者迁移结束后选择一个计划时间重启。
如果您选择迁移结束后重启目标数据库,请合理设置重启计划时 间,避免参数生效太晚影响业务的正常使用。
在进行参数对比功能时,您可以参见《数据复制服务用户指南》中
“参数对比列表”进行参数设置。
3) 参数对比操作完成后,单击“下一步”。
8. 在“任务确认”页面,设置迁移任务的启动时间、任务异常通知设置、SMN主 题、时延阈值、任务异常自动结束时间,并确认迁移任务信息无误后,单击“启 动任务”,提交迁移任务。
图2-58 任务启动设置
表2-33 任务启动设置
SMN主题 “任务异常通知设置”项开启后可见,需提前在SMN上申请主 题并添加订阅。
SMN主题申请和订阅可参考《消息通知服务用户指南》。
时延阈值 在增量迁移阶段,源数据库和目标数据库之间的实时同步有时会 存在一个时间差,称为时延,单位为秒。
时延阈值设置是指时延超过一定的值后(时延阈值范围为1—
3600s),DRS可以发送告警通知。告警通知将在时延稳定超过 设定的阈值6min后发送,避免出现由于时延波动反复发送告警 通知的情况。
设置任务异常自动结束天数,输入值必须在14-100之间,默认 值14。 看具体迁移对象的迁移进度。当全量迁移进度显示为100%,表示全量迁移已
设置任务异常自动结束天数,输入值必须在14-100之间,默认 值14。 看具体迁移对象的迁移进度。当全量迁移进度显示为100%,表示全量迁移已