检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
上云操作 创建RDS for MySQL实例 创建迁移任务 确认数据迁移结果 父主题: 自建MySQL迁移到RDS for MySQL
创建RDS for MySQL实例 本章节介绍创建DDM下关联的RDS for MySQL实例,创建步骤如下。 创建步骤 单击管理控制台左上角的,选择区域。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。 配置实例名称和实例基本信息。 选择实例规格。
源数据库和目标数据库的字符集是否一致 检查源数据库和目标数据库的数据库的字符集是否一致。当源数据库和目标数据库字符集不一致时,可能导致部分数据乱码、数据不一致等问题 不通过原因 源数据库和目标数据库字符集不一致。 处理建议 修改源数据库或者目标数据库字符集。 数据库为MySQL时,可通过以下方式进行修改:
将TaurusDB同步到MySQL 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 TaurusDB企业版、标准版 本地自建MySQL数据库 ECS自建MySQL数据库 其他云上MySQL数据库 RDS for MySQL 使用须知 在创建同步任务前,请务必阅读以下使用须知。
创建DDM实例:创建目标端DDM实例。 创建RDS for MySQL实例:创建DDM下关联的RDS for MySQL实例。 创建DDM账号:创建连接DDM逻辑库的账号。 创建逻辑库并关联RDS for MySQL实例:关联DDM与RDS for MySQL实例。 创建目标库表结构:在目标库创建表结构,供迁移数据使用。
doesn't exist。 可能原因 全量阶段期间,源端数据库执行删除表DDL语句。 解决方案 方法一: DRS全量迁移和同步期间,不能执行删除类型的DDL操作,可参考MySQL迁移使用须知,重建任务。 方法二: 在源数据库按照删除前的表结构创建同样的表后,在任务列表中,单击任务对应操作列的“续传”,重新提交任务。
单击“确定”。 返回安全组列表,单击安全组名称“sg-mysql”。 选择“入方向规则”,单击“添加规则”。 配置入方向规则,放通数据库3306端口。 重复9-10放通22端口。 放通后的效果如下: 父主题: 自建MySQL服务器
预检查不通过项可以参考预检查不通过项修复方法查询解决方法。 在RDS管理控制台查看迁移结果· 登录华为云控制台。 单击管理控制台左上角的,选择区域“华东-上海一”。 单击左侧的服务列表图标,选择“数据库 > 云数据库RDS”。 单击RDS实例后的“登录”。 在弹出的对话框中输入密码,单击“测试连接”。
目标数据库是否冲突 MySQL迁移场景 表1 目标数据库是否冲突 预检查项 目标数据库是否冲突。 描述 检查目标数据库是否正在被别的迁移任务使用,当多个迁移任务使用同一个目标数据库,可能会导致迁移失败。 不通过提示及处理建议 不通过原因:RDS实例已经在其他的迁移任务中。 处理建
虚拟私有云 VPC 云数据库 RDS 分布式消息服务Kafka 数据复制服务 DRS 数据管理服务 DAS 部署架构 本示例中,DRS源数据库为华为云RDS for MySQL,目标端为华为云同Region下的分布式消息服务Kafka,通过VPC网络,将源数据库的增量数据同步到目标端,部署架构可参考图1。
源库binlog_format格式没有设置ROW。 源库binlog_format格式设置ROW后没有立即生效。 解决方案 通过MySQL官方客户端或者其它工具登录源数据库。 在源数据库上执行全局参数设置命令。 set global binlog_format = ROW; 在源数据库上执行如下命令确认上面操作已执行成功。
将DDM同步到MySQL 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 DDM实例 RDS for MySQL(5.5、5.6、5.7、8.0版本) 数据库账号权限要求 在使用DRS进行同步时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时同步任
query FROM mysql.user" > /tmp/users.sql 其中的'host'替换为源数据库的访问IP地址,'user' 替换为源数据库的用户名。 执行如下命令,将源数据库中原有用户的授权信息导出到文件“grants.sql”中。 mysql -h 'host'
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
修改源数据库的参数值。 如果为自建的MySQL数据库,可通过命令行方式修改。 SET sql_mode = '修改后的值'; 如果为RDS for MySQL实例,可通过修改数据库sql_mode参数实现,详情请参考修改实例参数章节。 父主题: 数据库参数检查
源端MySQL发生主备倒换,DRS任务会丢数据吗 如果源端MySQL已开启了GTID模式,在发生主备倒换时,DRS会记录binlog位点信息,在主备倒换后接续位点继续进行任务,不会丢数据。 源端MySQL可通过修改数据库配置文件方式将GTID开启,重启数据库后生效。 参考命令如下:
请确认源库中是否存在错误信息中的database。 存在,请在对象选择中重新选中该database。 不存在,可能是对象依赖的database已经被删除或drs无权限读该database,该对象无法迁移,请重建任务,不要选择依赖被删除的数据库对象。 父主题: MySQL->MySQL实时迁移和同步
源数据库用户权限是否足够 预检查用户提供的源数据库账号权限是否符合要求,不同数据库引擎,全量阶段和增量阶段所需源数据库账号权限不同。 不通过原因 连接源数据库的用户权限不足。 处理建议 在使用DRS进行迁移或同步时,连接源数据库的账号需要满足一定的权限要求,才能启动任务。不同引擎
本实践介绍在华为云弹性云服务器 ECS上构建社区版MySQL和创建TaurusDB实例,并使用数据复制服务DRS将本地MySQL数据库的数据迁移至TaurusDB。通过DRS提供的实时迁移任务,实现在数据库迁移过程中业务中断时间最小化。 应用场景 企业业务高速发展,传统数据库扩容性差,迫切需要分布式化改造。