检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
同步数据库 本章节介绍创建DRS实例,将本地Oracle上的test_info数据库同步到GaussDB实例中test_database_info数据库中。 同步前检查 在创建任务前,需要针对同步条件进行手工自检,以确保您的同步任务更加顺畅。
目标数据库是否存在和源数据库同名的数据库 MySQL迁移场景 表1 目标数据库是否存在和源数据库同名的数据库 预检查项 目标数据库是否存在和源数据库同名的数据库 描述 校验用户提供的目标数据库是否存在与源数据库相同的数据库。
其中,自建数据库(例如MySQL、MongoDB等)包含本地自建数据库和ECS自建数据库,RDS for MySQL指华为云云数据库RDS上的MySQL数据库。 目前部分功能仅支持白名单用户使用,需要提交工单申请才能使用。
在源库选择需要迁移的数据库和表。本次实践中选择“db_test_info”中的“db_test_info_001”表。 预检查。 所有配置完成后,进行预检查,确保迁移成功。
数据库参数检查 源数据库binlog日志是否开启 源数据库binlog格式检查 源数据库expire_logs_days参数检查 源数据库和目标数据库的字符集是否一致 源数据库参数server_id是否符合增量迁移要求 源数据库和目标数据库表名大小写敏感性检查 源数据库中是否存在非
MySQL数据同步对源数据库和目标数据库有什么影响 以下数据以MySQL2MySQL大规格实时同步任务为例,不同规格对数据库的连接数存在差异,仅供参考。 DRS对源数据库的压力及影响 全量(初始化)阶段,DRS需要从源库将所有存量数据查询一次。
目标数据库是否冲突 MySQL迁移场景 表1 目标数据库是否冲突 预检查项 目标数据库是否冲突。 描述 检查目标数据库是否正在被别的迁移任务使用,当多个迁移任务使用同一个目标数据库,可能会导致迁移失败。 不通过提示及处理建议 不通过原因:RDS实例已经在其他的迁移任务中。
源数据库用户权限是否足够 预检查用户提供的源数据库账号权限是否符合要求,不同数据库引擎,全量阶段和增量阶段所需源数据库账号权限不同。 不通过原因 连接源数据库的用户权限不足。 处理建议 在使用DRS进行迁移或同步时,连接源数据库的账号需要满足一定的权限要求,才能启动任务。
源数据库和目标数据库的字符集是否一致 检查源数据库和目标数据库的数据库的字符集是否一致。当源数据库和目标数据库字符集不一致时,可能导致部分数据乱码、数据不一致等问题 不通过原因 源数据库和目标数据库字符集不一致。 处理建议 修改源数据库或者目标数据库字符集。
不通过提示及处理建议 不通过原因:源数据库和目标数据库的系统参数SERVER_ID相同。 处理建议:修改源数据库或目标数据库的参数SERVER_ID。 父主题: 数据库参数检查
源数据库ExpireLogsDays参数检查 MySQL同步、灾备场景 表1 源数据库ExpireLogsDays参数检查 预检查项 源数据库ExpireLogsDays参数检查。 描述 源数据库expire_logs_days参数值为0,可能会导致迁移失败。
表2 备份文件准备 迁移场景 准备工作 RDS全量备份场景 用户已有的Microsoft SQL Server数据库实例存在全量备份,如果没有,请参考《云数据库 RDS用户指南》中的“创建手动备份”章节,创建一个所需实例的全量备份。
源数据库和目标数据库表名大小写敏感性检查 MySQL迁移时,源数据库和目标数据库lower_case_table_names参数设置不一致。
目标数据库是否存在与源数据库同名的表 MySQL同步场景 表1 目标数据库是否存在与源数据库同名的表 预检查项 目标数据库是否存在与源数据库同名的表(表名冲突)。 描述 校验用户提供的目标数据库是否存在与源数据库同名的表,避免已存在的表被覆盖。若存在,则无法迁移。
目标数据库是否存在与源数据库同名的对象 MySQL->PostgreSQL同步场景 表1 目标数据库是否存在与源数据库同名的对象 预检查项 目标数据库是否存在与源数据库同名的对象。 描述 校验用户提供的目标数据库是否存在与源数据库同名的表,避免已存在的表被覆盖。
处理建议 全量+增量的实时同步任务,修改源数据库,配置为主机。 全量实时同步任务,修改源数据库,配置为主机。或者在启动全量同步前,修改源库参数“hot_standby_feedback”为on,全量同步结束后,将该参数改回off。 父主题: 数据库参数检查
不通过原因 源数据库和目标数据库的group_concat_max_len参数不一致。 处理建议 修改源数据库或者目标数据库的group_concat_max_len参数,使其保持一致。 如果为自建的MySQL数据库,可通过命令行方式修改。 通过以下命令查看数据库的字符集。
如果源数据库为本地自建MySQL,请参考如下步骤修复。 登录源数据库MySQL所在服务器。 执行以下命令,查看设置的Binlog保留时间。
数据库参数innodb_strict_mode一致性检查 检查源数据库和目标数据库的innodb_strict_mode参数是否一致性,若不一致,可能会导致任务失败,建议将参数变为一致。 数据库参数innodb_strict_mode用来设置是否开启严格检查模式。
源数据库索引(_id)检查 MongoDB迁移场景 表1 源数据库索引(_id)检查 预检查项 源数据库索引(_id)检查。 描述 检查源库是否存在没有索引(_id)的集合,若存在,则导致迁移失败。 待确认提示及处理建议 不通过原因:源数据库存在没有索引(_id)的集合。