检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
虚拟私有云 VPC 云数据库 RDS 分布式消息服务Kafka 数据复制服务 DRS 数据管理服务 DAS 部署架构 本示例中,DRS源数据库为华为云RDS for MySQL,目标端为华为云同Region下的分布式消息服务Kafka,通过VPC网络,将源数据库的增量数据同步到目标端,部署架构可参考图1。
修改数据库参数 功能介绍 修改数据库参数。 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。 接口约束 仅MySQL迁移和MySQL灾备支持调用。 任务job_directio
目标数据库是否冲突 MySQL迁移场景 表1 目标数据库是否冲突 预检查项 目标数据库是否冲突。 描述 检查目标数据库是否正在被别的迁移任务使用,当多个迁移任务使用同一个目标数据库,可能会导致迁移失败。 不通过提示及处理建议 不通过原因:RDS实例已经在其他的迁移任务中。 处理建
预检查不通过项可以参考预检查不通过项修复方法查询解决方法。 在RDS管理控制台查看迁移结果· 登录华为云控制台。 单击管理控制台左上角的,选择区域“华东-上海一”。 单击左侧的服务列表图标,选择“数据库 > 云数据库RDS”。 单击RDS实例后的“登录”。 在弹出的对话框中输入密码,单击“测试连接”。
创建DRS同步任务 本章节介绍创建DRS实例,将RDS for MySQL上的数据库增量同步到Kafka。 同步前检查 在创建任务前,需要针对同步条件进行手工自检,以确保您的同步任务更加顺畅。 本示例中,为RDS for MySQL到Kafka的出云同步,您可以参考出云同步使用须知获取相关信息。
在进行数据迁移时,需要源数据库开启GTID功能。源数据库GTID关闭情况下,源数据库存在主备切换时,可能会导致任务失败。 不通过原因 源数据库GTID未开启。 处理建议 源数据库是RDS for MySQL实例时,GTID默认为开启状态且不支持关闭。如果GTID未开启,需要联系RDS for MySQL运维人员进行处理。
创建DDM实例:创建目标端DDM实例。 创建RDS for MySQL实例:创建DDM下关联的RDS for MySQL实例。 创建DDM账号:创建连接DDM逻辑库的账号。 创建逻辑库并关联RDS for MySQL实例:关联DDM与RDS for MySQL实例。 创建目标库表结构:在目标库创建表结构,供迁移数据使用。
数据库参数检查 源数据库binlog日志是否开启 源数据库binlog格式检查 源数据库expire_logs_days参数检查 源数据库和目标数据库的字符集是否一致 源数据库参数server_id是否符合增量迁移要求 源数据库和目标数据库表名大小写敏感性检查 源数据库中是否存在非ASCII字符的对象名称
将MariaDB同步到MySQL 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 本地自建MariaDB数据库 10.0、10.1、10.2、10.3、10.4、10.5版本 ECS自建MariaDB数据库 10.0、10.1、10.2、10.3、10.4、10.5版本
SERVER_UUID的一致性检查 MySQL迁移时,源数据库和目标数据库的SERVER_UUID参数一致,可能会导致迁移失败。 不通过原因 源数据库和目标数据库的参数SERVER_UUID相同。 处理建议 检查源数据库与目标数据库是否设置为同一个MySQL数据库,如果是,请重新修改源或者目标数据库。 父主题:
返回安全组列表,单击安全组名称“sg-DRS01”。 选择“入方向规则”,单击“添加规则”。 配置入方向规则,放通数据库3306端口。 父主题: 源端RDS for MySQL准备
创建RDS for MySQL实例 本章节介绍创建DDM下关联的RDS for MySQL实例,创建步骤如下。 创建步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。 配置实例名称和实例基本信息。
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参数实现,详情请参考修改实例参数章节。 父主题: 数据库参数检查
本实践介绍在华为云弹性云服务器 ECS上构建社区版MySQL和创建TaurusDB实例,并使用数据复制服务DRS将本地MySQL数据库的数据迁移至TaurusDB。通过DRS提供的实时迁移任务,实现在数据库迁移过程中业务中断时间最小化。 应用场景 企业业务高速发展,传统数据库扩容性差,迫切需要分布式化改造。
源端MySQL发生主备倒换,DRS任务会丢数据吗 如果源端MySQL已开启了GTID模式,在发生主备倒换时,DRS会记录binlog位点信息,在主备倒换后接续位点继续进行任务,不会丢数据。 源端MySQL可通过修改数据库配置文件方式将GTID开启,重启数据库后生效。 参考命令如下:
将MySQL同步到MariaDB 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 本地自建MySQL数据库(MySQL 5.5、5.6、5.7、8.0版本) ECS自建MySQL数据库(MySQL 5.5、5.6、5.7、8.0版本) 其他云上MySQL数据库(MySQL
创建EIP 外部通过EIP访问应用系统,DRS通过EIP连接源数据库,需要为源数据库绑定EIP。 创建EIP 进入购买弹性公网IP页面。 在“购买弹性公网IP”页面,选择区域“华东-上海一”。根据界面提示完成基本信息和带宽配置。 图1 购买EIP 单击“立即购买”。 确认信息无误,单击“提交”,完成EIP购买。
同步到目标数据库后多的列为null,不符合目标数据库要求。 目标数据库多的列设置固定默认值,且有唯一约束。源库insert多条数据后,同步到目标数据库后多的列为固定默认值,不符合目标数据库要求。 不支持源数据库恢复到之前时间点的操作(PITR)。 不支持目标数据库恢复到全量同步时间段范围内的PITR操作。