检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
通过创建事件触发器和函数实现PostgreSQL增量DDL同步 本小结介绍PostgreSQL->RDS for PostgreSQL实时同步,通过在源库创建事件触发器和函数获取源库的DDL信息,然后在DRS增量实时同步阶段实现DDL操作的同步。 前提条件 当前支持的DDL操作包含如下:
支持表、主键索引、唯一索引、普通索引、存储过程、视图、函数的同步,不支持事件、触发器的同步。 视图、存储过程、函数依赖的表不支持做表名映射。 任务做表名映射时,不支持该表的外键约束同步。 任务做库名映射时,同步的对象中如果存在存储过程、视图、函数对象,全量阶段这些对象不会同步,会导致对象对比不一致。
志等技术,将源端和目标端数据库保持数据持续一致。 说明: 选择“全量+增量”迁移模式,增量迁移可以在全量迁移完成的基础上实现数据的持续同步,无需中断业务,实现迁移过程中源业务和数据库继续对外提供访问。 在“源库及目标库”信息页面,迁移实例创建成功后,填选源库信息和目标库信息,单击
状态 解决方案 数据类型或函数 ENCODE()函数 加密 移除 AES_ENCRYPT()函数代替 DECODE()函数 解密 移除 AES_DECRYPT()函数代替 ENCRYPT()函数 加密 移除 SHA2()函数代替 DES_ENCRYPT()函数 加密 移除 AES_ENCRYPT()函数代替
量底层实现原理可参考产品架构和功能原理。 “全量+增量”: 该模式为数据持续性实时同步,通过全量过程完成目标端数据库的初始化后,增量同步阶段通过解析日志等技术,将源端和目标端数据保持数据持续一致。 说明: 选择“全量+增量”同步模式,增量同步可以在全量同步完成的基础上实现数据的持
志等技术,将源端和目标端数据库保持数据持续一致。 说明: 选择“全量+增量”迁移模式,增量迁移可以在全量迁移完成的基础上实现数据的持续同步,无需中断业务,实现迁移过程中源业务和数据库继续对外提供访问。 指定公网IP 网络类型选择“公网网络”时可见,选择为DRS实例绑定的弹性公网I
源库中是否存在无权限迁移的函数或存储过程 MySQL迁移场景 表1 源库中是否存在无权限迁移的函数或存储过程 预检查项 源库中是否存在无权限迁移的函数或存储过程。 描述 源数据库提供的账号权限不足,无法迁移部分函数和存储过程,导致迁移失败。 不通过提示及处理建议 不通过原因:数据库中存在无权限迁移的函数或存储过程。
支持表、主键索引、唯一索引、普通索引、存储过程、视图、函数的同步。 仅支持MyISAM和InnoDB表的同步。 不支持事件、触发器的同步。 视图、存储过程、函数依赖的表不支持做表名映射。 任务做表名映射时,不支持该表的外键约束同步。 任务做库名映射时,同步的对象中如果存在存储过程、视图、函数对象,全量阶段这些对象不会同步,会导致对象对比不一致。
支持的同步对象 类型名称 使用须知 同步对象范围 支持表、主键索引、唯一索引、普通索引、存储过程、视图、函数的同步。 仅支持MyISAM和InnoDB表的同步。 视图、存储过程、函数依赖的表不支持做表名映射。 不支持事件(EVENT)和触发器(TRIGGER)的同步。 全量和增量同步
志等技术,将源端和目标端数据库保持数据持续一致。 说明: 选择“全量+增量”迁移模式,增量迁移可以在全量迁移完成的基础上实现数据的持续同步,无需中断业务,实现迁移过程中源业务和数据库继续对外提供访问。 是否开启Binlog快速清理 选择是否开启目标数据库实例Binlog快速清理功
量底层实现原理可参考产品架构和功能原理。 “全量+增量”: 该模式为数据持续性实时同步,通过全量过程完成目标端数据库的初始化后,增量同步阶段通过解析日志等技术,将源端和目标端数据保持数据持续一致。 说明: 选择“全量+增量”同步模式,增量同步可以在全量同步完成的基础上实现数据的持
不支持对列名做函数操作,如果使用函数操作可能导致数据不一致。 建议不要对非精确类型字段设置过滤条件,如FLOAT、DECIMAL、DOUBLE等。 建议不要对带有特殊字符的字段设置过滤条件。 建议不要对过滤条件涉及的列做DDL操作,可能导致任务异常。 不建议使用非幂等表达式或函数作为数据
支持表、主键索引、唯一索引、普通索引、存储过程、视图、函数的同步,不支持事件、触发器的同步。 视图、存储过程、函数依赖的表不支持做表名映射。 任务做表名映射时,不支持该表的外键约束同步。 任务做库名映射时,同步的对象中如果存在存储过程、视图、函数对象,全量阶段这些对象不会同步,会导致对象对比不一致。
使用和操作限制 源数据库限制 源数据库支持to_date和sys_guid函数做默认值。将其他函数作为default值时,需要目标库也有相同功能的函数。对于目标库不存在对应函数的情况,可能会出现以下结果: 默认值函数可能会被置空。 创建表失败,导致对象对比不一致或者任务失败。 Orac
创建RDS for MySQL实例 本章节介绍创建RDS for MySQL实例,该实例选择和自建MySQL服务器相同的VPC和安全组。 进入购买云数据库RDS页面。 配置实例基本信息。选择区域“华东-上海一”。 图1 基本信息 选择实例规格,其他参数默认配置。 图2 实例规格 单击“立即购买”。
如何通过设置VPC安全组,实现DRS任务网络互通 基于安全的考虑,本云VPC与外部网络是隔离的,VPC内是无法访问外部的弹性IP(如其他云数据库的弹性IP、云下数据库的弹性IP等)。但数据库迁移场景需要确保本云VPC内的DRS实例与源、目标数据库可连通,为此,您需要分别设置源数据
MySQL到MySQL双主灾备 支持的源和目标数据库 表1 支持的数据库 业务数据库 灾备数据库 本地自建MySQL数据库 ECS自建MySQL数据库 其他云上MySQL数据库 RDS for MySQL RDS for MySQL 目前仅支持白名单用户使用。 数据库账号权限要求
不要同时在RDS实例页面进行读写设置。 灾备任务结束后,灾备数据库也将变为读写状态。 外部数据库具有superuser权限的账号时,也可以实现作为灾备数据库时只读状态。 如遇DRS实例节点故障重建,任务恢复前为保证DRS任务在恢复过程中的数据一致性,会将本云为备数据库短暂设置为只读,任务正常后同步关系恢复正常。
Name/SID、用户名和密码。 源库支持to_date和sys_guid函数做默认值。将其他函数作为default值时,需要目标库也有相同功能的函数。对于目标库不存在对应函数的情况,可能会出现以下结果: 默认值函数可能会被置空。 创建表失败,导致对象对比不一致或者任务失败。 增量同步
MySQL)。通过DRS提供的实时迁移任务,实现在数据库迁移过程中业务中断时间最小化。 应用场景 企业业务高速发展,传统数据库扩容性差,迫切需要分布式化改造。 传统数据库需要自购并安装服务器、系统、数据库等软件,运维成本高、难度大。 传统数据库性能瓶颈问题,复杂查询性能较差。 如何不中断业务并且平滑地实现数据迁移。