检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
实施步骤 自建MySQL服务器 上云操作 父主题: ECS自建MySQL迁移到GaussDB(for MySQL)
上云操作 创建RDS for MySQL实例 创建迁移任务 确认数据迁移结果 父主题: 自建MySQL迁移到RDS for MySQL
在进行数据迁移时,需要源数据库开启GTID功能。源数据库GTID关闭情况下,源数据库存在主备切换时,可能会导致任务失败。 不通过原因 源数据库GTID未开启。 处理建议 源数据库是RDS for MySQL实例时,GTID默认为开启状态且不支持关闭。如果GTID未开启,需要联系RDS for MySQL运维人员进行处理。
事务隔离级别一致性校验 MySQL迁移时,源数据库和目标数据库的事务隔离级别需要保持一致。 不通过原因 源数据库和目标数据库的事务隔离级别不一致。 处理建议 修改数据库隔离级别参数(tx_isolation或者transaction_isolation),使源库和目标库的事务隔离级别保持一致。
返回安全组列表,单击安全组名称“sg-DRS01”。 选择“入方向规则”,单击“添加规则”。 配置入方向规则,放通数据库3306端口。 父主题: 其他云MySQL迁移到GaussDB(for MySQL)
处理建议 如果数据库为云上RDS for MySQL实例,可参考RDS for MySQL大小写参数敏感类问题内容,修改lower_case_table_names参数值。 如果数据库为本地自建MySQL,请参考如下步骤修复。 登录源数据库MySQL所在服务器。 手动修改my.cnf配置文件,在MySQL配置文件my
虚拟专用网络VPN 云数据库 RDS 分布式数据库中间件DDM 数据复制服务 DRS 数据管理服务 DAS 部署架构 本示例中,DRS源数据库为华为云RDS for MySQL,目标端为华为云不同Region下的分布式数据库中间件DDM,通过VPN网络,将源数据库的迁移到目标端,部署架构可参考图1。
SERVER_UUID的一致性检查 MySQL迁移时,源数据库和目标数据库的SERVER_UUID参数一致,可能会导致迁移失败。 不通过原因 源数据库和目标数据库的参数SERVER_UUID相同。 处理建议 检查源数据库与目标数据库是否设置为同一个MySQL数据库,如果是,请重新修改源或者目标数据库。 父主题:
doesn't exist。 可能原因 全量阶段期间,源端数据库执行删除表DDL语句。 解决方案 方法一: DRS全量迁移和同步期间,不能执行删除类型的DDL操作,可参考MySQL迁移使用须知,重建任务。 方法二: 在源数据库按照删除前的表结构创建同样的表后,在任务列表中,单击任务对应操作列的“续传”,重新提交任务。
源端MySQL发生主备倒换,DRS任务会丢数据吗 如果源端MySQL已开启了GTID模式,在发生主备倒换时,DRS会记录binlog位点信息,在主备倒换后接续位点继续进行任务,不会丢数据。 源端MySQL可通过修改数据库配置文件方式将GTID开启,重启数据库后生效。 参考命令如下:
预检查不通过项可以参考预检查不通过项修复方法查询解决方法。 在RDS管理控制台查看迁移结果· 登录华为云控制台。 单击管理控制台左上角的,选择区域“华东-上海一”。 单击左侧的服务列表图标,选择“数据库 > 云数据库RDS”。 单击RDS实例后的“登录”。 在弹出的对话框中输入密码,单击“测试连接”。
”阶段对数据库账号权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
GaussDB(for MySQL)->Oracle 表1 数据类型映射关系 数据类型(GaussDB(for MySQL)) 数据类型(Oracle) 是否支持映射 ENUM VARCHAR2 支持 SET VARCHAR2 支持 VARCHAR VARCHAR2 支持 NUMERIC
MySQL->Oracle 表1 数据类型映射关系 数据类型(MySQL) 数据类型(Oracle) 是否支持映射 ENUM VARCHAR2 支持 SET VARCHAR2 支持 VARCHAR VARCHAR2 支持 NUMERIC NUMBER 支持 FLOAT BINARY_FLOAT
GaussDB->MySQL 表1 数据类型映射关系 数据类型(GaussDB) 数据类型(MySQL) 是否支持映射 CHARACTER CHAR 支持 CHARACTER VARYING VARCHAR 支持 BYTEA/BLOB/RAW BINARY/VARBINARY/TINYBLOB
数据库参数检查 源数据库binlog日志是否开启 源数据库binlog格式检查 源数据库expire_logs_days参数检查 源数据库和目标数据库的字符集是否一致 源数据库参数server_id是否符合增量迁移要求 源数据库和目标数据库表名大小写敏感性检查 源数据库中是否存在非ASCII字符的对象名称
将MySQL同步到MariaDB 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 RDS for MySQL(5.6、5.7、8.0版本) 本地自建MariaDB数据库 10.0、10.1、10.2、10.3、10.4、10.5版本 ECS自建MariaDB数据库 10
object_scope String 该数据库在实时同步场景下的类型。 target_root_db Object 数据库对象迁移或同步目标库信息,两层到三层数据库同步需要填写。 详情请参见表5。 object_info Map<String,DatabaseObject> 数据库对象迁移或同步信息。
虚拟私有云 VPC 云数据库 RDS 分布式消息服务Kafka 数据复制服务 DRS 数据管理服务 DAS 部署架构 本示例中,DRS源数据库为华为云RDS for MySQL,目标端为华为云同Region下的分布式消息服务Kafka,通过VPC网络,将源数据库的增量数据同步到目标端,部署架构可参考图1。
去除目标数据库sql_mode中no_engine_substitution参数。 如果为自建的MySQL数据库,可通过命令行方式修改。 SET sql_mode = '修改后的值'; 如果为RDS for MySQL实例,可参考修改实例参数章节进行修改。 父主题: 数据库参数检查