检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DRS实时同步支持使用Online DDL工具吗 使用场景 MySQL为源的迁移或同步任务,在增量阶段使用第三方拷表方式实现的Online DDL工具(如PT-OSC、GH-OST)在源库执行DDL,会先创建临时表,通过临时表做DDL,针对这个情况,使用DRS进行迁移或同步时,可分为以下三种场景:
通过创建事件触发器和函数实现PostgreSQL增量DDL同步 本小结介绍PostgreSQL->RDS for PostgreSQL实时同步,通过在源库创建事件触发器和函数获取源库的DDL信息,然后在DRS增量实时同步阶段实现DDL操作的同步。 前提条件 当前支持的DDL操作包含如下: 表
盖原来的冲突数据。 过滤DROP DATABASE 实时同步过程中,源数据库端执行的DDL操作在一定程度上会影响数据的同步能力,为了降低同步数据的风险,数据复制服务提供了过滤DDL操作的功能,目前支持默认过滤删除数据库的操作。 是,表示过程中不会同步用户在源数据库端执行的删除数据库的操作。
表级同步时,增量同步过程支持使用Online DDL,可参考DRS实时同步支持使用Online DDL工具吗。 支持任务再编辑追加同步对象。 支持断点续传功能,在主机系统崩溃的情况下,对于非事务性的无主键的表可能会出现重复插入数据的情况。 支持部分DDL语句。 一对一的场景下,默认同步的DDL类型有CREAT
创建RDS for MySQL实例 本章节介绍创建RDS for MySQL实例。 登录华为云控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。 配置实例名称和实例基本信息。 选择实例规格。
过滤DROP DATABASE 增量迁移过程中,源数据库端执行的DDL操作在一定程度上会影响数据的迁移能力,为了降低迁移数据的风险,数据复制服务提供了过滤DDL操作的功能。 目前支持默认过滤删除数据库的操作。 是,表示数据迁移过程中不会同步用户在源数据库端执行的删除数据库的操作。 否
MySQL到MySQL 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 ECS自建MySQL 5.6、5.7、8.0版本 本地自建MySQL 5.6、5.7、8.0版本 其他云上MySQL 5.6、5.7、8.0版本 RDS for MySQL 数据库账号权限要求
MySQL到MySQL 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 RDS for MySQL RDS for MySQL 数据库账号权限要求 使用DRS创建录制回放任务时,连接源和目标数据库账号的权限建议保持一致,再启动任务。 使用须知 为了确保录制回放任务
用户迁移时,如果源数据库为8.0版本,需要有mysql.user表的SELECT权限;如果为5.7及以下版本,则需要mysql系统库的SELECT权限,源数据库为阿里云数据库,则账户需要同时具有mysql.user和mysql.user_view的SELECT权限。 需要具备如下最小权限:
可按照流类型的不同进行确定。 X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。
默认为创建迁移任务时选择的已创建的RDS for MySQL实例,不可进行修改。 数据库用户名 访问目标端RDS for MySQL实例的用户名。 数据库密码 访问目标端RDS for MySQL实例的用户名所对应的密码。 所有Definer迁移到该用户下 是 迁移后,所有源数据库对象的Defi
支持断点续传功能,在主机系统崩溃的情况下,对于非事务性的无主键的表可能会出现重复插入数据的情况。 双向同步任务不支持任务重置功能。 正向任务的增量同步过程中支持部分DDL语句。 一对一的场景下,默认同步的DDL类型有CREATE_TABLE,RENAME_TABLE,ADD_COLUMN
过跳过DDL功能继续同步。 操作步骤 联系GaussDB(DWS)技术支持,在目标数据库执行相同语义的DDL(当前提示显示的为源数据库的DDL,需在目标数据库执行符合目标库语法的语句)。 执行完成后,在“实时同步管理”页面的同步列表中,选择要跳过的任务,单击任务“操作”列的“跳过DDL”。
本云指两端均为华为云数据库实例的录制回放场景。 入云指目标数据库为华为云数据库实例且需将数据传入的场景。 源数据库引擎 选择“MySQL”。 源数据库来源 选择源数据库的具体来源。不同源数据库来源对应的审计日志格式不同,具体可参考审计日志格式说明。 目标数据库引擎 选择“GaussDB(for
MySQL到GaussDB(for MySQL) 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 RDS for MySQL GaussDB(for MySQL)主备实例 数据库账号权限要求 使用DRS创建录制回放任务时,连接源和目标数据库账号的权限建议保持一致,再启动任务。
将GaussDB(for MySQL)同步到MySQL 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 GaussDB(for MySQL)主备实例 本地自建MySQL数据库 ECS自建MySQL数据库 其他云上MySQL数据库 RDS for MySQL 使用须知 在创建同步任务前,请务必阅读以下使用须知。
mkdir -p /mysql/install/file mkdir -p /mysql/install/log cd /mysql/install 下载并安装社区版MySQL,详情请参见如何下载并安装MySQL客户端。 执行如下命令,初始化mysql。 /mysql/install/mysql-8
可能原因 全量阶段期间,源端数据库执行删除表DDL语句。 解决方案 方法一: DRS全量迁移和同步期间,不能执行删除类型的DDL操作,可参考MySQL迁移使用须知,重建任务。 方法二: 在源数据库按照删除前的表结构创建同样的表后,在任务列表中,单击任务对应操作列的“续传”,重新提交任务。
其他云MySQL实例准备 前提条件 已购买其他云数据库MySQL实例。 账号权限符合要求,具体见账号权限要求。 账号权限要求 当使用DRS将其他云MySQL数据库的数据迁移到华为云云数据库GaussDB(for MySQL)实例时,在不同迁移类型的情况下,对源数据库的账号权限要求如下:
目标库删表,导致同步语句报错。 创建任务时,同步对象范围未勾选“增量DDL”,源库创建表后DDL语句过滤,导致同步报错。 解决方案 请联系目标库运维工程师根据源库表结构在目标库创建对应的表,创建完成后,单击任务对应操作列的“续传”,重新提交任务。 父主题: MySQL->MySQL实时迁移和同步