检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
将PostgreSQL同步到PostgreSQL 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 本地自建数据库(PostgreSQL 9.4、9.5、9.6、10、11、12、13、14、15版本) ECS自建数据库(PostgreSQL 9.4、9.5、9.6
概述 欢迎使用数据复制服务(Data Replication Service,简称DRS)。数据复制服务是一种易用、稳定、高效、用于数据库在线迁移和数据库实时同步的云服务。数据复制服务是通过创建任务,以任务作为数据库迁移的导向。 您可以使用本文档提供的API对数据复制任务进行相关
数据订阅提供多种功能,详情请见表1。 表1 高级特性 特性 说明 动态增减订阅对象 在数据订阅过程中,您可以随时增加或减少需要订阅的对象。 在线查看订阅数据 您可以通过管理控制台在线查看订阅的增量数据。 修改消费时间点 在消费的过程中,您可以随时修改消费时间点。 父主题: 功能特性
IP,可以使用某一节点的VIP,这种情况下DRS日志解析只会在VIP指定的RAC节点上进行。 若源库为RAC,增量同步首次启动时所有RAC节点必须正常在线,否则增量启动会出现异常。 若源库为RAC,增量同步时,不支持增加、减少节点数量,避免导致增量同步异常(为保证数据的强一致性)。 索引同步
待确认原因 存在不符合检查项约束。 处理建议 请确认对应表中所有数据完全满足当前约束条件,如发现不满足约束的数据,请考虑目标端不做约束(需要找DRS在线支持跳过表结构一致性检查),或者处理源端数据使得完全满足约束。 父主题: 数据库参数检查
目标数据库是否存在与源数据库同名的对象 MySQL->PostgreSQL同步场景 表1 目标数据库是否存在与源数据库同名的对象 预检查项 目标数据库是否存在与源数据库同名的对象。 描述 校验用户提供的目标数据库是否存在与源数据库同名的表,避免已存在的表被覆盖。若存在,则无法迁移。
不同VPC场景下,如何实现源库和目标库的网络互通 DRS支持通过多种方式的网络进行数据迁移,包括:VPC网络、VPN网络、专线网络和公网网络,其中VPC网络适合云上同Region数据库之间的迁移。 源数据库所在的区域要和目标数据库实例所在的区域保持一致。 源数据库可以和目标数据库在同一VPC内,也可以在不同VPC内。
DRS任务支持修改对象吗 实时迁移任务:已创建成功但是未确认启动的编辑状态时,可以修改迁移对象,任务启动后,不支持进行修改。 备份迁移任务:仅支持在创建时编辑备份迁移任务。对于已经启动的备份迁移任务,不支持修改。 实时同步任务:已创建成功但是未确认启动的编辑状态时,可以修改同步对
目标数据库是否存在与源数据库同名的表 MySQL同步场景 表1 目标数据库是否存在与源数据库同名的表 预检查项 目标数据库是否存在与源数据库同名的表(表名冲突)。 描述 校验用户提供的目标数据库是否存在与源数据库同名的表,避免已存在的表被覆盖。若存在,则无法迁移。 特殊情况:如果
如何批量导出、导入事件(event)和触发器(trigger) 在进行MySQL到MySQL的迁移时,若任务结束后发现迁移日志中提示迁移事件和触发器失败,可手动迁移。 本小节主要介绍批量导出导入事件和触发器的具体操作。 从源库批量导出触发器。 在源库执行以下语句,获取TRIGGE
ail 无。 查询内容对比差异 drs:compareJob:getContentDiff 无。 获取在线迁移任务列表 drs:migrationJob:list 无。 获取在线迁移任务详情 drs:migrationJob:get 需要配置对应实例的读权限,例如数据库为RDS时,需要在项目上配置RDS
通过创建事件触发器和函数实现PostgreSQL增量DDL同步 本小结介绍PostgreSQL->RDS for PostgreSQL实时同步,通过在源库创建事件触发器和函数获取源库的DDL信息,然后在DRS增量实时同步阶段实现DDL操作的同步。 前提条件 当前支持的DDL操作包含如下:
为什么实时灾备任务不支持触发器(TRIGGER)和事件(EVENT) 数据库的触发器(TRIGGER)和事件(EVENT)操作会记录binlog,DRS通过解析binlog同步数据,如果业务侧写入与触发器、事件存在同样对象,就会发生重复执行导致数据不一致或者任务失败,所以在灾备场景下,触发器和事件是不支持的。
源库服务器计算机名是否一致 源数据库和目标数据库存在相同的计算机名,不符合迁移要求。 不通过原因 源数据库和目标数据库存在相同的计算机名。 处理建议 建议修改源数据库的计算机名,然后重启计算机生效。 父主题: 数据库参数检查
测试自建MySQL性能 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“计算 > 弹性云服务器 ECS”。 单击“ecs-client”弹性云服务器后的“远程登录”。 在弹出的远程连接界面中单击“CloudShell”。 输入弹性云
同Region同VPC,通过VPC网络接入华为云 使用DRS将同Region同VPC的华为云ECS数据库迁移到华为云云数据库时,选择VPC网络其网络示意图如图1所示: 图1 网络示意图 源数据库为ECS自建数据库,源和目标数据库属于相同Region相同VPC,DRS使用VPC网络
创建VPC和安全组 创建VPC和安全组,为创建MySQL服务器和GaussDB(for MySQL)实例准备好网络资源和安全组。 创建VPC 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“网络 > 虚拟私有云 VPC”。 进入虚拟私有云信息页面。
安装社区版MySQL 初始化磁盘并安装社区版MySQL。 登录弹性云服务器 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“计算 > 弹性云服务器 ECS”。 在弹性云服务器名称“ecs-mysql”所在行单击“远程登录”。 选择“CloudShell登录”。
源数据库中是否存在非ASCII字符的触发器名 MySQL迁移时,源数据库中不能存在非ASCII字符的触发器名,若存在,可能会导致迁移失败。 不通过原因 源数据库中存在非ASCII字符的发器名。 处理建议 方法一:单击“上一步”,返回至“迁移模式”页面,迁移对象不要选择包含非ASCII字符名的触发器。
创建ECS并安装MySQL客户端 请参考创建ECS(MySQL服务器)创建MySQL客户端的弹性云服务器。 确保和MySQL服务器所在ECS配置成相同Region、相同可用区、相同VPC、相同安全组。 不用购买数据盘。 云服务器名配置为:ecs-client。 其他参数同MySQL服务器的ECS配置。