检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
通过创建事件触发器和函数实现PostgreSQL增量DDL同步 本小结介绍PostgreSQL->RDS for PostgreSQL实时同步,通过在源库创建事件触发器和函数获取源库的DDL信息,然后在DRS增量实时同步阶段实现DDL操作的同步。 前提条件 当前支持的DDL操作包含如下:
为什么实时灾备任务不支持触发器(TRIGGER)和事件(EVENT) 数据库的触发器(TRIGGER)和事件(EVENT)操作会记录binlog,DRS通过解析binlog同步数据,如果业务侧写入与触发器、事件存在同样对象,就会发生重复执行导致数据不一致或者任务失败,所以在灾备场景下,触发器和事件是不支持的。
源库服务器计算机名是否一致 源数据库和目标数据库存在相同的计算机名,不符合迁移要求。 不通过原因 源数据库和目标数据库存在相同的计算机名。 处理建议 建议修改源数据库的计算机名,然后重启计算机生效。 父主题: 数据库参数检查
测试自建MySQL性能 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“计算 > 弹性云服务器 ECS”。 单击“ecs-client”弹性云服务器后的“远程登录”。 在弹出的远程连接界面中单击“CloudShell”。 输入弹性云
创建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配置。
UGO结构迁移阶段3:触发器、事件、任务、外键、sequence 选择UGO结构迁移阶段2:普通索引的UGO任务,在对象校正页面,勾选触发器、事件、任务、外键,单击“撤销跳过”,让其迁移状态处于“手工修改”。 对于外键需要选择左侧对象列表勾选。 单击“下一步”进入迁移验证页面,单击启动,确保迁移成功。
在大字段数据不一致的可能性。 如果源库和目标库字符集不一致,如源库是GBK,目标库是UTF8,由于GBK字符集单个中文字符占用2个字节,而UTF8字符集单个中文字符占用3个字节,可能会导致CHAR或VARCHAR类型数据同步到目标库后超出字段定义长度,所以客户需要根据实际情况对目
在大字段数据不一致的可能性。 如果源库和目标库字符集不一致,如源库是GBK,目标库是UTF8,由于GBK字符集单个中文字符占用2个字节,而UTF8字符集单个中文字符占用3个字节,可能会导致CHAR或VARCHAR类型数据同步到目标库后超出字段定义长度,所以客户需要根据实际情况对目
源库参数lower_case_table_names=1时,为什么不允许迁移包含大写字母的库或者表 场景描述 当源库参数lower_case_table_names=1时,无法迁移包含大写字母的库或者表。 问题分析 当源库的lower_case_table_names 参数值为1
主备库是否开启隐式主键检查 检查源库或目标库是否开启create_default_primary_key参数。源库或目标库的create_default_primary_key参数开启了,可能会导致灾备主备倒换的时候任务失败或者数据不一致,建议关闭。另外,如果在开启这个参数的状态
同步到GaussDB(DWS)的使用建议 增量DDL支持度 MySQL、Oracle等数据库语法与GaussDB(DWS)不同,增量阶段DDL同步存在失败的可能性,部分DDL转换规则可参考表1,建议在方案实施前联系GaussDB(DWS)技术支持评估DDL的支持度。 表1 DDL转换规则
在“实时同步管理”页面的任务列表中,选择操作列的“更多”>“转主备”。 在“转主备”页面,选择备任务的可用区。如果为公网网络任务,还需要指定备任务的公网IP完成后,单击“确认”。 提交变更后,单击“返回任务列表”,在实时同步管理页面,可以看到任务状态为“转主备中”。 稍后等任务转换完成后,可查看到父任务下有一主一备两个子任务。
为什么DRS不支持部分他云只读实例的备库做源库 对于DRS的增量或者全量+增量任务,不支持部分他云只读实例的备库做源库进行数据迁移。DRS增量迁移是通过读取源数据库的原始增量日志数据(例如MySQL的Binlog)后解析转换进行 。 以MySQL的Binlog为例,部分他云只读M
源数据库和目标数据库表名大小写敏感性检查 MySQL迁移时,源数据库和目标数据库lower_case_table_names参数设置不一致。lower_case_table_names的参数值为0时,表示数据库大小写敏感;当lower_case_table_names 参数值为1
操作流程 构建MySQL服务器、购买RDS实例,并且将MySQL服务器数据迁移到RDS实例的整个流程的主要任务流如图1所示。 图1 流程图 父主题: 自建MySQL迁移到RDS for MySQL
Oracle等异构数据库迁移到MySQL后的数据库排序规则为什么是utf8mb4_bin 由于不同的数据库支持的字符集有差异,Oracle等数据库迁移到MySQL后,会转换成支持字符相对全面的UTF8MB4字符集。此字符集对应的默认排序字符集为utf8_general_ci,是大
操作流程 构建MySQL服务器、购买GaussDB(for MySQL)实例,并且将MySQL服务器数据迁移到GaussDB(for MySQL)实例的整个流程的主要任务流如图1所示。 图1 流程图 父主题: ECS自建MySQL迁移到GaussDB(for MySQL)