MySQL到MySQL双主灾备
支持的源和目标数据库
业务数据库 |
灾备数据库 |
---|---|
|
|
前提条件
- 已登录数据复制服务控制台。
- 满足实时灾备支持的数据库类型和版本,详情请参见实时灾备。
使用建议
- 灾备初始化阶段,请不要在业务数据库执行DDL操作,否则可能导致任务异常。
- 灾备初始化阶段,确保灾备数据库无业务写入,保证灾备前后数据一致。
- 数据库灾备与环境多样性和人为操作均有密切关系,为了确保灾备的平顺,建议您在进行正式的数据库灾备之前进行一次演练,可以帮助您提前发现问题并解决问题。
- 基于以下原因,建议您在启动任务时选择“稍后启动”功能,选择业务低峰期开始运行灾备任务,避免灾备任务对业务造成性能影响。
- 在网络无瓶颈的情况下,灾备初始化阶段会对业务数据库增加约50MB/s的查询压力,以及占用2~4个CPU。
- 灾备无主键表时,为了确保数据一致性,会存在3s以内的单表级锁定。
- 正在灾备的数据被其他事务长时间锁死,可能导致读数据超时。
- DRS并发读取数据库,会占用大约6-10个session连接数,需要考虑该连接数对业务的影响。
- 灾备初始化阶段读取表数据时,特别是大表的读取,可能会阻塞业务上对大表的独占锁操作。
- 数据对比
建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。
使用须知
在创建灾备任务前,请务必阅读以下使用须知。
- 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。
- 连接业务或灾备数据库的账号密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
类型 |
使用和操作限制 |
---|---|
数据库权限配置 |
|
灾备对象约束 |
|
业务数据库配置 |
|
灾备数据库配置 |
|
操作须知 |
|
操作步骤
- 在“实时灾备管理”页面,单击“创建灾备任务”,进入创建灾备任务页面。
- 在“灾备实例”页面,填选任务名称、描述、灾备实例信息,单击“开始创建”。
- 任务信息
表3 任务和描述 参数
描述
任务名称
任务名称在4到50位之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他的特殊字符。
描述
描述不能超过256位,且不能包含! = < > & ' " \ 特殊字符。
- 灾备实例信息
表4 灾备实例信息 参数
描述
灾备类型
选择“双主灾备”。
灾备类型可以为“单主灾备”和“双主灾备”。选择双主灾备时,默认创建两个子任务,分别为正向和反向灾备任务。
本区RDS角色
本云RDS实例在该灾备关系中的角色,分为主1和主2,灾备类型选择“双主灾备”时该选项可见。如何选择请参见双主灾备的主1、主2如何选择。
- 主1:创建任务时本云RDS有初始数据。
- 主2:创建任务时本云RDS为空实例。
此处以主2为示例。
业务数据库引擎
选择“MySQL”。
灾备数据库引擎
选择“MySQL”。
网络类型
此处以公网网络为示例。
默认为公网网络类型,支持VPN网络、专线网络、公网网络。
灾备数据库实例
用户所创建的RDS for MySQL实例。
灾备实例所在子网
请选择灾备实例所在的子网。也可以单击“查看子网”,跳转至“网络控制台”查看实例所在子网帮助选择。
默认值为当前所选数据库实例所在子网,请选择有可用IP地址的子网。为确保灾备实例创建成功,仅显示已经开启DHCP的子网。
对于创建失败的任务,DRS默认保留3天,超过3天将会自动结束任务。
- 任务信息
- 在“灾备任务管理”页面,等待任务创建完成后,单击正向子任务“操作”列“编辑”,进入“源库及目标库”页面。
- 在“源库及目标库”页面,灾备实例创建成功后,填选业务数据库信息和灾备数据库信息后,单击“源库和目标库”处的“测试连接”,分别测试并确定与业务库和灾备库连通后,勾选协议,单击“下一步”。
表5 业务数据库信息 参数
描述
源库类型
默认选择“ECS自建库”。
IP地址或域名
业务数据库的IP地址或域名。
端口
业务数据库服务端口,可输入范围为1~65535间的整数。
数据库用户名
业务数据库的用户名。
数据库密码
业务数据库的用户名所对应的密码。支持在任务创建后修改密码。
任务为启动中、初始化、灾备中、灾备异常状态时,可在“基本信息”页面,单击“连接信息”后的“修改连接信息”,在弹出的对话框中修改密码。
SSL安全连接
通过该功能,用户可以选择是否开启对迁移链路的加密。如果开启该功能,需要用户上传SSL CA根证书。
说明:- 最大支持上传500KB的证书文件。
- 如果不启用SSL安全连接,请自行承担数据安全风险。
业务数据库的IP地址或域名、数据库用户名和密码,会被系统加密暂存,直至删除该迁移任务后自动清除。
表6 灾备数据库信息 参数
描述
数据库实例名称
默认为创建灾备任务时选择的RDS for MySQL实例,不可进行修改。
数据库用户名
灾备数据库对应的数据库用户名。
数据库密码
灾备数据库对应的用户名密码。支持在任务创建后修改密码。
任务为启动中、初始化、灾备中、灾备异常状态时,可在“基本信息”页面,单击“连接信息”后的“修改连接信息”,在弹出的对话框中修改密码。
数据库用户名和密码将被系统加密暂存,直至该任务删除后清除。
SSL安全连接
如启用SSL安全连接,请在灾备数据库开启SSL,并确保相关配置正确后上传SSL证书。
说明:- 最大支持上传500KB的证书文件。
- 如果不启用SSL安全连接,请自行承担数据安全风险。
- 在“灾备设置”页面,设置流速模式等,单击“下一步”。
表7 灾备设置 参数
描述
流速模式
流速模式支持限速和不限速,默认为不限速。
所有Definer迁移到该用户下
选择是否将源数据库对象的Definer迁移到测试连接时输入的目标数据库用户下。
- 是
迁移后,所有源数据库对象的Definer都会迁移至该用户下,其他用户需要授权后才具有数据库对象权限,如何授权请参考MySQL迁移中Definer强制转化后如何维持原业务用户权限体系
- 否
迁移后,将保持源数据库对象Definer定义不变,选择此选项,需要配合下一步用户权限迁移功能,将源数据库的用户全部迁移,这样才能保持源数据库的权限体系完全不变。注意:如果Definer账户在目标库不存在,则会建立不可用的对象。
- 是
- 在“预检查”页面,进行灾备任务预校验,校验通过后才可进行下一步。
- 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”重新进行灾备任务的预检查。
预检查不通过项处理建议请参见预检查不通过项修复方法。
- 预检查完成后,且预检查通过率为100%时,单击“下一步”。
所有检查项结果均通过时,如果存在请确认项,需要阅读并确认详情后才可以继续执行下一步操作。
- 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”重新进行灾备任务的预检查。
- 在“任务确认”页面,设置正向子任务的启动时间,并确认任务信息无误后,单击“启动任务”,提交正向灾备任务。
表8 任务和描述 参数
描述
启动时间
灾备任务的启动时间可以根据业务需求,设置为“立即启动”或“稍后启动”。
说明:预计灾备任务启动后,会对业务数据库和灾备数据库的性能产生影响,建议选择业务低峰期,合理设置灾备任务的启动时间。
- 返回灾备任务列表页面,等待正向子任务进入“灾备中”状态后,单击反向子任务“操作”列“编辑”,进入反向子任务的“源库及目标库”页面。
- 在“源库及目标库”页面,单击“源库和目标库”处的“测试连接”,分别测试并确定与业务库和灾备库连通后,单击“下一步”。
- 在“任务确认”页面,设置反向子任务的启动时间,并确认任务信息无误后,单击“启动任务”,提交反向灾备任务。
- 灾备任务提交后,您可在“实时灾备管理”页面,查看并管理自己的任务。
- 您可查看任务提交后的状态,状态请参见任务状态说明。
- 在任务列表的右上角,单击刷新列表,可查看到最新的任务状态。
- 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源。