数据复制服务(Data Replication Service,简称DRS)支持将ECS自建MySQL数据库 的数据迁移到本云云数据库GaussDB(for MySQL)。通过DRS提供的实时迁移任务,实 现在数据库迁移过程中业务和数据库不停机,业务中断时间最小化。
本章节主要介绍了通过DRS将ECS自建MySQL数据库实时迁移至本云云数据库 GaussDB(for MySQL)的任务配置流程。支持以下网络类型:
● VPC网络
● VPN(Virtual Private Network,虚拟专用网络)、专线网络
● 公网网络
迁移流程
图2-20 迁移流程图
迁移建议(重要)
● 数据库迁移与环境多样性和人为操作均有密切关系,为了确保迁移的平顺,建议 您在进行正式的数据库迁移之前进行一次演练,可以帮助您提前发现问题并解决 问题,如何最小化对数据库的影响请参考如下建议。
● 强烈建议您在启动任务时选择“稍后启动”功能,将启动时间设置在业务低峰
当使用DRS将MySQL数据库的数据迁移到本云云数据库GaussDB(for MySQL)实 例时,在不同迁移类型的情况下,对源数据库和目标数据库的帐号权限要求如表 2-13:
表2-13 迁移帐号权限
迁移类型 全量迁移 全量+增量迁移
源数据库 SELECT、SHOW
VIEW、EVENT。 SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。
目标数据库 SELECT、CREATE、
DROP、DELETE、
INSERT、UPDATE、
INDEX、EVENT、
CREATE VIEW、CREATE ROUTINE、TRIGGER、
WITH GRANT OPTION。
SELECT、CREATE、
DROP、DELETE、
INSERT、UPDATE、
INDEX、EVENT、
CREATE VIEW、CREATE ROUTINE、TRIGGER、
WITH GRANT OPTION。
– 源数据库权限设置:
需要确保源数据库MySQL的帐号权限具备表2-13的要求。若权限不足,需要 在源数据库端开通高权限的帐号。目标数据库权限设置:
本云数据库GaussDB(for MySQL)使用初始帐号即可。
2. 网络准备。
– 源数据库的网络设置:
ECS自建MySQL数据库实时迁移至本云云数据库GaussDB(for MySQL)的场 景,一般可以使用VPC网络、VPN网络、专线网络和公网网络四种方式进行 迁移,您可以根据实际情况选择。一般推荐使用公网网络进行迁移,该方式 下的数据迁移过程较为方便和经济。
– 目标数据库的网络设置:
▪
若通过公网网络访问,不需要进行任何设置。▪
若通过VPN、专线网络访问,请先开通华为VPN服务,确保源数据库 MySQL和目标端本云云数据库GaussDB(for MySQL)的网络互通。▪
若通过VPC网络访问,源数据库可以与目标端本云云数据库MySQL实例 在同一个VPC,也可以不在同一个VPC。○ 当源库和目标库处于同一个VPC时,网络默认是互通的。
○ 当不在同一个VPC的时候,要求源数据库实例和目标端本云云数据 库MySQL实例所处的子网处于不同网段,此时需要通过建立对等连 接实现网络互通,具体操作请参见《虚拟私有云用户指南》中
“VPC对等连接”章节。
3. 安全规则准备。
a. 源数据库的白名单设置:
▪
若通过公网网络进行迁移,源数据库MySQL实例需要将具体的DRS迁移 实例的弹性公网IP添加到其网络白名单中,确保源数据库MySQL实例可 以与上述弹性公网IP连通。在设置网络白名单之前需要获取DRS迁移实 例,具体方法如下:迁移实例创建成功后,可在“源库及目标库”页面获取DRS迁移实例的 弹性公网IP。如图2-21所示:
图2-21 迁移实例公网弹性 IP
以上讲述的是精细配置白名单的方法,还有一种简单设置白名单的方 法,在安全允许的情况下,可以将源数据库MySQL实例的网络白名单设 置为0.0.0.0/0,代表允许任何IP地址访问该实例。
▪
若通过VPN、专线网络进行迁移,源库需要将DRS迁移实例的私有IP添加 到其网络白名单内,确保源端和目标端网络互通。▪
若通过VPC网络进行迁移,同一VPC场景下,默认网络是连通的。不同 VPC场景下,通过建立对等连接就可以实现网络互通。上述的网络白名单是为了进行数据迁移设置的,迁移结束后可以删除。
b. 目标数据库安全组规则设置:
目标数据库默认与DRS迁移实例处在同一个VPC,网络是互通的,DRS可以直 接写入数据到目标数据库,不需要进行任何设置。
2. 在“实时迁移管理”页面,单击右上角“创建迁移任务”,进入迁移任务信息页 面。
3. 在“迁移实例”页面,填选任务信息和迁移实例信息。
表2-14 任务和描述
参数 描述
区域 当前所在区域,可进行切换。
任务名称 任务名称在4-50位之间,必须以字母开头,不区分大小写,可以 包含字母、数字、中划线或下划线,不能包含其他的特殊字符。
描述 描述不能超过256位,且不能包含! = < > & ' " \ 特殊字符。
图2-22 迁移实例信息
表2-15 迁移实例信息
参数 描述
数据流动方向 选择入云。
入云指目标端数据库为本云数据库。
源数据库引擎 选择MySQL。
目标数据库引擎 选择GaussDB(for MySQL)主备版。
参数 描述
网络类型 此处选择公网网络。
默认为公网网络类型,支持VPN网络、专线网络。
– 公网网络:适合通过公网网络把其他云下或其他平台的 数据库迁移到目标数据库,该类型要求源数据库绑定弹 性公网IP。
– VPN网络:适合通过VPN网络,实现其他云下自建数据 库与云上数据库迁移、或云上跨Region的数据库之间的 迁移。
– 专线网络:适合通过专线网络,实现其他云下自建数据 库与云上数据库迁移、或云上跨Region的数据库之间的 迁移。
– VPC网络:适合云上数据库之间的迁移。
目标数据库实例 用户所创建的目标GaussDB(for MySQL)实例。
迁移模式 此处以全量+增量模式为示例。
表2-16 源库信息
参数 描述
IP地址或域名 源数据库的IP地址或域名。
端口 源数据库服务端口,可输入范围为1~65535间的整数。
数据库用户名 源数据库的用户名。
数据库实例名称 默认为创建迁移任务时选择的GaussDB(for MySQL)实例,
不可进行修改。
参数 描述 所有Definer迁
移到该用户下 – 是
迁移后,所有源数据库对象的Definer都会迁移至该用户 下,其他用户需要授权后才具有数据库对象权限,如何授 权请参考MySQL迁移中Definer强制转化后如何维持原业 务用户权限体系
– 否迁移后,将保持源数据库对象Definer定义不变,选择此 选项,需要配合下一步用户权限迁移功能,将源数据库的 用户全部迁移,这样才能保持源数据库的权限体系完全不 变。
5. 在“迁移设置”页面,设置迁移对象,单击“下一步”。
图2-25 设置迁移对象
表2-18 迁移对象
流速的大小需要根据业务场景来设置,不能超过9999MB/s。
图2-26 设置流速模式
– 不限速
对迁移速度不进行限制,通常会最大化使用源数据库的出口带 宽。该流速模式同时会对源数据库造成读消耗,消耗取决于源 数据库的出口带宽。比如源数据库的出口带宽为100MB/s,假 设高速模式使用了80%带宽,则迁移对源数据库将造成80MB/s 的读操作IO消耗。
参数 描述
7. 在“任务确认”页面,设置迁移任务的启动时间、任务异常通知设置、SMN主
该项为可选参数,开启之后,选择对应的SMN主题。当迁移任 务状态异常时,系统将发送通知。
SMN主题 “任务异常通知设置”项开启后可见,需提前在SMN上申请主 题并添加订阅。
SMN主题申请和订阅可参考《消息通知服务用户指南》。
时延阈值 在增量迁移阶段,源数据库和目标数据库之间的实时同步有时会 存在一个时间差,称为时延,单位为秒。
时延阈值设置是指时延超过一定的值后(时延阈值范围为1—
3600s),DRS可以发送告警通知。告警通知将在时延稳定超过 设定的阈值6min后发送,避免出现由于时延波动反复发送告警 通知的情况。
设置任务异常自动结束天数,输入值必须在14-100之间,默认 值14。
说明
异常状态下的任务仍然会计费,而长时间异常的任务无法续传和恢复。
设置任务异常自动结束天数后,异常且超时的任务将会自动结束,以免 产生不必要的费用。
8. 迁移任务提交后,您可在“实时迁移管理”页面,查看并管理自己的任务。 100%。“全量+增量”迁移模式:全量迁移完成后,开始进行增量迁移,可 在“迁移进度”页签下,查看增量迁移同步时延,当时延为0s时,说明源数 源库当前系统时间(current_time)与该事务在源库的提交成功时间
(committed_time)的时间差,时延为0代表源和目标瞬时一致,无新的事务需要同 步。长时间未提交事务和频繁的DDL 均可以造成高时延。
– 查看迁移对象的进度。在“进度明细”下,单击目标迁移对象“详细信息”
列的“查看详情”,查看对象的迁移进度,进入增量迁移后,该数据将不再 显示,您可以使用“迁移对比”页签,进行一致性对比。
图2-30 迁移进度明细
– 查看读写数据性能。单击“监控图表”查看读写数据性能,该图表展示了实 时读取源库和写入目标库数据的速率,其单位为MB/s。
图2-31 性能监控
步骤3 查看迁移日志。
1. 在“实时迁移管理”界面,选中指定迁移任务,单击任务名称。
2. 在“迁移日志”页签,查看当前迁移任务的日志,可以根据“级别”筛选查看内 容。
图2-32 查看迁移日志
您可查看到日志对应的时间,级别和描述。
步骤4 对比迁移项。
1. 在“实时迁移管理”界面,选中指定迁移任务,单击任务名称,进入“基本信 息”页签。
2. 单击“迁移对比”页签,进入“迁移对比”信息页面,对源数据库和目标数据库 的数据进行对比分析。
您也可以在“实时迁移管理”界面,选中指定迁移任务,单击操作列的“查看对 比”,进入“迁移对比”页面。
a. 首先进行数据库对象完整性检查。
单击“对象检查”,进入“对象级对比”页签,单击“开始对比”后稍等一 段时间再单击 ,查看各个对比项的对比结果。
图2-33 对象级对比
若需要查看对比项的对比结果详情,可单击指定对比项操作列的“详情”。
b. 数据库对象检查完成后,进行迁移数据行数及内容的对比。
如果仅需要对比全部迁移对象的行数,您也可以在“实时迁移管理”界面,
如果仅需要对比全部迁移对象的行数,您也可以在“实时迁移管理”界面,