检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在进行数据迁移时,需要源数据库开启GTID功能。源数据库GTID关闭情况下,源数据库存在主备切换时,可能会导致任务失败。 不通过原因 源数据库GTID未开启。 处理建议 源数据库是RDS for MySQL实例时,GTID默认为开启状态且不支持关闭。如果GTID未开启,需要联系RDS for MySQL运维人员进行处理。
创建逻辑库并关联RDS for MySQL实例 单击管理控制台左上角的,选择区域。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击实例对应操作栏的“创建逻辑库”。 在创建逻辑库页面,选择“逻辑库模式”、“逻辑库
上云操作 创建RDS for MySQL实例 创建迁移任务 确认数据迁移结果 父主题: 自建MySQL迁移到RDS for MySQL
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
虚拟私有云 VPC 云数据库 RDS 分布式消息服务Kafka 数据复制服务 DRS 数据管理服务 DAS 部署架构 本示例中,DRS源数据库为华为云RDS for MySQL,目标端为华为云同Region下的分布式消息服务Kafka,通过VPC网络,将源数据库的增量数据同步到目标端,部署架构可参考图1。
源数据库和目标数据库的字符集是否一致 检查源数据库和目标数据库的数据库的字符集是否一致。当源数据库和目标数据库字符集不一致时,可能导致部分数据乱码、数据不一致等问题 不通过原因 源数据库和目标数据库字符集不一致。 处理建议 修改源数据库或者目标数据库字符集。 数据库为MySQL时,可通过以下方式进行修改:
doesn't exist。 可能原因 全量阶段期间,源端数据库执行删除表DDL语句。 解决方案 方法一: DRS全量迁移和同步期间,不能执行删除类型的DDL操作,可参考MySQL迁移使用须知,重建任务。 方法二: 在源数据库按照删除前的表结构创建同样的表后,在任务列表中,单击任务对应操作列的“续传”,重新提交任务。
目标数据库是否冲突 MySQL迁移场景 表1 目标数据库是否冲突 预检查项 目标数据库是否冲突。 描述 检查目标数据库是否正在被别的迁移任务使用,当多个迁移任务使用同一个目标数据库,可能会导致迁移失败。 不通过提示及处理建议 不通过原因:RDS实例已经在其他的迁移任务中。 处理建
创建DRS同步任务 本章节介绍创建DRS实例,将RDS for MySQL上的数据库增量同步到Kafka。 同步前检查 在创建任务前,需要针对同步条件进行手工自检,以确保您的同步任务更加顺畅。 本示例中,为RDS for MySQL到Kafka的出云同步,您可以参考出云同步使用须知获取相关信息。
预检查不通过项可以参考预检查不通过项修复方法查询解决方法。 在RDS管理控制台查看迁移结果· 登录华为云控制台。 单击管理控制台左上角的,选择区域“华东-上海一”。 单击左侧的服务列表图标,选择“数据库 > 云数据库RDS”。 单击RDS实例后的“登录”。 在弹出的对话框中输入密码,单击“测试连接”。
将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版本
创建DDM实例:创建目标端DDM实例。 创建RDS for MySQL实例:创建DDM下关联的RDS for MySQL实例。 创建DDM账号:创建连接DDM逻辑库的账号。 创建逻辑库并关联RDS for MySQL实例:关联DDM与RDS for MySQL实例。 创建目标库表结构:在目标库创建表结构,供迁移数据使用。
返回安全组列表,单击安全组名称“sg-DRS01”。 选择“入方向规则”,单击“添加规则”。 配置入方向规则,放通数据库3306端口。 父主题: 源端RDS for MySQL准备
数据库参数检查 源数据库binlog日志是否开启 源数据库binlog格式检查 源数据库expire_logs_days参数检查 源数据库和目标数据库的字符集是否一致 源数据库参数server_id是否符合增量迁移要求 源数据库和目标数据库表名大小写敏感性检查 源数据库中是否存在非ASCII字符的对象名称
SERVER_UUID的一致性检查 MySQL迁移时,源数据库和目标数据库的SERVER_UUID参数一致,可能会导致迁移失败。 不通过原因 源数据库和目标数据库的参数SERVER_UUID相同。 处理建议 检查源数据库与目标数据库是否设置为同一个MySQL数据库,如果是,请重新修改源或者目标数据库。 父主题:
低版本迁移至MySQL 8.0,应该注意哪些问题 MySQL 8.0较MySQL 5.7增加了一些新的特性,并在性能表现上存在差异。迁移前,需要做兼容性分析并给出解决方案。可以从兼容性、系统变量等方面考虑。 兼容性分析: 针对MySQL8.0社区版与MySQL5.7社区版进行分析,包括以下两方面:
query FROM mysql.user" > /tmp/users.sql 其中的'host'替换为源数据库的访问IP地址,'user' 替换为源数据库的用户名。 执行如下命令,将源数据库中原有用户的授权信息导出到文件“grants.sql”中。 mysql -h 'host'
创建EIP 外部通过EIP访问应用系统,DRS通过EIP连接源数据库,需要为源数据库绑定EIP。 创建EIP 进入购买弹性公网IP页面。 在“购买弹性公网IP”页面,选择区域“华东-上海一”。根据界面提示完成基本信息和带宽配置。 图1 购买EIP 单击“立即购买”。 确认信息无误,单击“提交”,完成EIP购买。
本实践介绍在华为云弹性云服务器 ECS上构建社区版MySQL和创建TaurusDB实例,并使用数据复制服务DRS将本地MySQL数据库的数据迁移至TaurusDB。通过DRS提供的实时迁移任务,实现在数据库迁移过程中业务中断时间最小化。 应用场景 企业业务高速发展,传统数据库扩容性差,迫切需要分布式化改造。