MySQL数据库到GaussDB(for MySQL)主备版同步实例
本小节以MySQL->GaussDB(for MySQL)主备版的实时同步为示例,介绍如何使用数据复制服务配置实时同步任务。
操作步骤
- 在“实时同步管理”页面,单击“创建同步任务”。
- 在“同步实例”页面,填选区域、任务名称、任务异常通知信息、SMN主题、时延阈值、任务异常自动结束时间、描述、同步实例信息,单击“下一步”。图1 同步任务信息
表1 任务和描述 参数
描述
区域
当前所在区域,可进行切换。
任务名称
任务名称在4-50位之间,必须以字母开头,不区分大小写,可以包含字母、数字、中划线或下划线,不能包含其他的特殊字符。
任务异常通知设置
该项为可选参数,开启之后,选择对应的SMN主题。当同步任务状态异常时,系统将发送通知。
SMN主题
“任务异常通知设置”项开启后可见,需提前在SMN上申请主题并添加订阅。
SMN主题申请和订阅可参考《消息通知服务用户指南》。
时延阈值
在增量同步阶段,源数据库和目标数据库之间的同步有时会存在一个时间差,称为时延,单位为秒。
时延阈值设置是指时延超过一定的值后(时延阈值范围为1—3600s),DRS可以发送告警通知。告警通知将在时延稳定超过设定的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情况。
说明:- 首次进入增量同步阶段,会有较多数据等待同步,存在较大的时延,属于正常情况,不在此功能的监控范围之内。
- 设置时延阈值之前,需要设置任务异常通知。
任务异常自动结束时间(天)
设置任务异常自动结束天数,输入值必须在14-100之间。
说明:异常状态下的任务仍然会计费,而长时间异常的任务无法续传和恢复。设置任务异常自动结束天数后,异常且超时的任务将会自动结束,以免产生不必要的费用。
描述
描述不能超过256位,且不能包含! = < > & ' " \ 特殊字符。
图2 同步实例信息表2 同步实例信息 参数
描述
数据流动方向
选择“入云”。
源数据库引擎
选择“MySQL”。
目标数据库引擎
选择“GaussDB(for MySQL)主备版”。
网络类型
此处以“公网网络”为示例。目前支持可选公网网络、VPC网络和VPN、专线网络。
目标数据库实例
可用的“GaussDB(for MySQL)主备版”实例。
同步实例所在子网
请选择同步实例所在的子网。也可以单击“查看子网”,跳转至“网络控制台”查看实例所在子网帮助选择。
默认值为当前所选数据库实例所在子网,请选择有可用IP地址的子网。为确保同步实例创建成功,仅显示已经开启DHCP的子网。
同步模式
- 全量+增量
该模式为数据持续性实时同步,通过全量过程完成目标端数据库的初始化后,增量同步阶段通过解析日志等技术,将源端和目标端数据保持数据持续一致。
- 增量。
增量同步通过解析日志等技术,将源端产生的增量实时同步至目标端。
说明:选择“全量+增量”同步模式,增量同步可以在全量同步完成的基础上实现数据的持续同步,无需中断业务,实现同步过程中源业务和数据库继续对外提供访问。
企业项目
对于已成功关联企业项目的用户,仅需在“企业项目”下拉框中选择目标项目。
如果需要自定义企业项目,请前往项目管理服务进行创建。关于如何创建项目,详见《项目管理用户指南》。
标签
可选配置,对同步任务的标识。使用标签可方便管理您的实时同步任务。每个任务最多支持10个标签配额。
任务创建成功后,您可以单击实例名称,在“标签”页签下查看对应标签。关于标签的详细操作,请参见标签管理。
- 在“源库及目标库”页面,同步实例创建成功后,填选源库信息和目标库信息,建议您单击“源库和目标库”处的“测试连接”,分别测试并确定与源库和目标库连通后,勾选协议,单击“下一步”。图3 源库信息
表3 源库信息 参数
描述
IP地址或域名
源数据库的IP地址或域名。
端口
源数据库服务端口,可输入范围为1~65535间的整数。
数据库用户名
源数据库的用户名。
数据库密码
源数据库的用户名所对应的密码。
SSL安全连接
通过该功能,用户可以选择是否开启对迁移链路的加密。如果开启该功能,需要用户上传SSL CA根证书。
说明:- 最大支持上传500KB的证书文件。
- 如果不使用SSL证书,请自行承担数据安全风险。
源数据库的数据库用户名和密码,会被系统加密暂存,直至删除该迁移任务后自动清除。
图4 目标库信息表4 目标库信息 参数
描述
数据库实例名称
默认为创建同步任务时选择的关系型数据库实例,不可进行修改。
数据库用户名
目标数据库对应的数据库用户名。
数据库密码
数据库用户名和密码将被系统加密暂存,直至该任务删除后清除。
- 在“设置同步”页面,选择同步对象类型和同步对象,单击“下一步”。图5 同步模式
表5 同步模式和对象 参数
描述
增量阶段冲突策略
该冲突策略特指增量同步中的冲突处理策略,全量阶段的冲突默认忽略。
目前支持的冲突策略有:
忽略和覆盖,都是以同步稳定性优先(不会因为数据冲突而中断任务),如果用户以同步稳定性为关键,则在这里二选一。
报错则是以数据质量为优先,即用户环境不应该出现任何数据冲突,无论是忽略还是覆盖都可能产生严重业务问题,所以DRS同步任务立即失败,并人为排查原因。但需注意,如果任务长期处于失败状态,可能会导致存储占满而无法修复任务。
是否过滤DROP DATABASE
实时同步过程中,源数据库端执行的DDL操作在一定程度上会影响数据的同步能力,为了降低同步数据的风险,数据复制服务提供了过滤DDL操作的功能。
目前支持默认过滤删除数据库的操作。
- 是,表示实时同步过程中不会同步用户在源数据库端执行的删除数据库的操作。
- 否,则表示实时同步过程中将相关操作同步到目标库。
对象同步范围
选择是否同步“普通索引”。
DRS将默认同步主键/唯一索引,普通索引是指除主键/唯一索引以外的其他类型索引。勾选普通索引将会同步全部的索引,不勾选则仅同步主键/唯一索引,普通索引不会同步。
数据同步拓扑
数据同步功能支持多种同步拓扑,您可以根据业务需求规划您的同步实例。数据同步拓扑说明可参考数据同步拓扑介绍。
增量支持DDL
用户根据需求选择增量同步的DDL类型,不同链路支持的DDL类型以显示为准。
- 一对一、一对多场景:如果业务上认为源和目标应该使用保持严格一致,那么高危类DDL也应该勾选并同步。如果业务上确定某个高危DDL不应该发生,则可以不勾选同步高危类DDL,这样DRS将拦截过滤这个DDL,从而起到保护目标数据的作用。但需要知晓,过滤DDL的附带问题是可能导致同步失败,例如过滤删列动作。
- 多对一数据聚合场景:最佳方式是推荐只选择同步加列DDL,其他大部分DDL同步都可能因目标表修改而导致数据不一致或多对一中其他任务失败的情况发生。
同步对象
可选表级同步、库级同步、导入对象文件,您可以根据业务场景选择对应的数据进行同步。
- 在“数据加工”页面,可对需要加工的表对象进行数据过滤或添加附加列,完成后单击“下一步”。
- 如果需要设置数据过滤,选择“数据过滤”,设置相关过滤规则。
- 如果需要设置添加附加列,选择“附加列”,单击“操作”列的“添加”,选填需要添加的列名和操作类型信息。
相关操作可参考数据加工。
图6 数据加工
- 在“预检查”页面,进行同步任务预校验,校验是否可进行实时同步。
- 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行任务预校验。
预检查不通过项处理建议请参见《数据复制服务用户指南》中的“预检查不通过项修复方法”。
- 预检查完成后,且所有检查项结果均通过时,单击“下一步”。图7 预检查
所有检查项结果均通过时,若存在请确认项,需要阅读并确认详情后才可以继续执行下一步操作。
- 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行任务预校验。
- 在“任务确认”页面,设置同步任务的启动时间,并确认同步任务信息无误后,勾选协议,单击“启动任务”,提交同步任务。
- 同步任务的启动时间可以根据业务需求,设置为“立即启动”或“稍后启动”。
- 预计同步任务启动后,会对源数据库和目标数据库的性能产生影响,建议选择业务低峰期,合理设置同步任务的启动时间。
- 同步任务提交后,您可在“实时同步管理”页面,查看并管理自己的任务。
- 您可查看任务提交后的状态,状态请参见任务状态。
- 在任务列表的右上角,单击
刷新列表,可查看到最新的任务状态。
