检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
安装社区版MySQL 初始化磁盘并安装社区版MySQL。 登录弹性云服务器 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“计算 > 弹性云服务器 ECS”。 在弹性云服务器名称“ecs-mysql”所在行单击“远程登录”。 选择“CloudShell登录”。
”、“对比时间”和“对象选择”后,单击“是”,提交对比任务。 图3 创建对比任务 对比类型:分为行数对比和内容对比。 对比方式:分为静态对比和动态对比两种。 静态对比:对源数据库和目标数据库进行一次全量内容对比,内容对比完成后对比任务结束,适用于无数据变化的非业务时间。 动态对比
货币金额格式是否一致 PostgreSQL同步时,源数据库和目标数据库的货币金额格式是否一致,若不一致,会导致同步失败。 不通过原因 源数据库和目标数据库的“lc_monetary”参数值不同。 处理建议 修改数据库“lc_monetary”参数值,使源库和目标库的货币金额格式保持一致。 如果为自建的数据库,可通过命令行方式修改:
可能原因 目标库表执行DDL导致目标库表结构和源库不一致。 解决方案 请联系客户目标库运维工程师,修改目标库表结构和源库保持一致。 完成后在任务列表中,单击任务对应操作列的“续传”,重新提交任务。 父主题: MySQL->MySQL实时迁移和同步
方案概述 本实践介绍在华为云弹性云服务器 ECS上构建社区版MySQL和创建TaurusDB实例,并使用数据复制服务DRS将本地MySQL数据库的数据迁移至TaurusDB。通过DRS提供的实时迁移任务,实现在数据库迁移过程中业务中断时间最小化。 应用场景 企业业务高速发展,传统数据库扩容性差,迫切需要分布式化改造。
源库操作是迁移中不支持的DDL,DML会导致数据对比不一致。 对目标库操作 进行添加字段,drs任务是正常的。 对表进行修改字段,减少字段,会导致drs任务失败。 进行手动添加记录,修改,删除记录,会导致drs对比数据结果不一致。 扩容操作是rds内部操作,不影响drs任务。 父主题:
数据库参数innodb_strict_mode一致性检查 检查源数据库和目标数据库的innodb_strict_mode参数是否一致性,若不一致,可能会导致任务失败,建议将参数变为一致。 数据库参数innodb_strict_mode用来设置是否开启严格检查模式。innodb_s
e一致性检查 检查源数据库和目标数据库的block_encryption_mode参数是否一致,若不一致,可能会导致迁移之后目标数据库不可用,建议将参数设置为一致。 block_encryption_mode 用于设置使用加解密函数时的加密模式,源库和目标库的block_encr
写字母将转换为小写存储。当源库和目标数据库的lower_case_table_names参数不一致时,若存在以大写字母形式创建的库或者表,可能会导致任务失败。 不通过原因 源数据库和目标数据库lower_case_table_names参数设置不一致。 处理建议 如果数据库为云上RDS
这样完成了事务从源到目标的同步,时延为该事务最后在目标数据库上执行完成时的源库当前系统时间(current_time)与该事务在源库的提交成功时间(committed_time)的时间差,时延为0代表源和目标瞬时一致,无新的事务需要同步。 长时间未提交事务和频繁DDL操作均可以造成高时延。 查看迁移对象的进度。
本地自建MySQL数据库 ECS自建MySQL数据库 其他云上MySQL数据库 CSS/ES 本地自建Oracle数据库 ECS自建Oracle数据库 本地自建MariaDB数据库 ECS自建MariaDB数据库 其他云上MariaDB数据库 本地自建MySQL数据库 ECS自建MySQL数据库
Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。
已选择的schema在目标库不存在。 部分表无法同步,这些表的特征为:表名称的字母相同但大小写不同。 已选择的表在目标库不存在,或与源库的表结构不一致。 处理建议 建议在目标库创建上述schema。创建schema语句参考模板: CREATE SCHEMA schema_name; 建议
为什么实时灾备任务不支持触发器(TRIGGER)和事件(EVENT) 数据库的触发器(TRIGGER)和事件(EVENT)操作会记录binlog,DRS通过解析binlog同步数据,如果业务侧写入与触发器、事件存在同样对象,就会发生重复执行导致数据不一致或者任务失败,所以在灾备场景下,触发器和事件是不支持的。
创建VPC和安全组 创建VPC和安全组,为创建MySQL服务器和TaurusDB实例准备好网络资源和安全组。 创建VPC 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“网络 > 虚拟私有云 VPC”。 进入虚拟私有云信息页面。 单击页面右上角“创建虚拟私有云”。
字符集不兼容导致数据乱码或者同步失败 背景 当源数据库和目标数据库字符集不兼容时,可能导致 部分数据乱码。 数据同步不一致。 目标库写入失败。 解决方案 针对这种情况,建议先修改目标库字符集后再进行同步。若同步任务已经报错,请修改目标库字符集后再重置任务进行同步。 父主题: 实时同步
但大小写不同的列转为小写,或删除源数据库表中多余的列。 待确认原因:源端表的主键列和目标端表的主键列存在不一致问题。主键列不一致,可能会导致同步失败或者数据不一致。 处理建议:改目标端表的主键,和源端表的主键列保持一致。 参考命令: alter table table_name add
来定时控制灾备速度。流速设置通常包括限速时间段和流速大小的设置。默认的限速时间段为“全天限流”,您也可以根据业务需求选择“时段限流”。自定义的时段限流支持最多设置10个定时任务,每个定时任务之间不能存在交叉的时间段,未设定在限速时间段的时间默认为不限速。 流速的大小需要根据业务场景来设置,不能超过9999MB/s。
DRS服务从源数据库抽取原始增量日志,解析为标准格式并持久化保存到本地,同时实时调用客户端订阅SDK的notify接口,推送增量变更数据到客户端业务程序,客户端根据业务需求实现具体消费逻辑。 当客户端程序消费的变更数据会实时记录在服务器端,异常中断、重连等场景下,DRS服务端会从最后的消费位点继续推送增量变更数据。
源库和目标库参数log_bin_trust_function_creators一致性校验 在进行MySQL到MySQL的出云迁移时,源库和目标库参数log_bin_trust_function_creators需保持一致。当源数据库支持自定义函数时,而目标数据库不支持自定义函数,