检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
低版本迁移至MySQL 8.0,应该注意哪些问题 MySQL 8.0较MySQL 5.7增加了一些新的特性,并在性能表现上存在差异。迁移前,需要做兼容性分析并给出解决方案。可以从兼容性、系统变量等方面考虑。 兼容性分析: 针对MySQL8.0社区版与MySQL5.7社区版进行分析,包括以下两方面:
方案概述 应用场景 传统数据库面临硬件成本高,维护难度大等问题,企业上云诉求强烈,本章介绍如何通过DRS服务,将MySQL分库分表数据库迁移至华为云DDM。 方案架构 本示例源端为一个分库分表关联两个MySQL实例,目标端为一个DDM关联两个RDS for MySQL实例,通过DRS将
MySQL->GaussDB MySQL->GaussDB B、MYSQL和PG兼容性模式 表1 数据类型映射关系 数据类型(MySQL) 数据类型(GaussDB) 是否支持映射 CHAR CHARACTER 支持,如果源库该类型的字段含有占用超过一个字节的字符,需适当增加目标库该字段的长度。
实例信息。 如果规格确认无误,单击“提交”,完成购买实例的申请。 返回云数据库实例列表。当RDS实例运行状态为“正常”时,表示实例创建完成。 父主题: 其他云MySQL迁移到云数据库 RDS for MySQL
创建RDS for MySQL实例 本章节介绍创建RDS for MySQL实例并构造测试数据。 创建实例 登录华为云控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。 配置实例名称和实例基本信息。
目标库Oracle不支持空字符串,同步对象含有非空约束的字段中不能包含空字符串。 源数据库MySQL支持的最大列数是1017,目标数据库Oracle支持的最大列数为1000, 因为目标数据库限制,同步对象的列数不能大于1000。 全量和增量同步不支持隐藏列(INVISIBLE),隐藏列是MySQL 8.0.23开始支持的特性,例如:
源库和目标库时区设置必须一致。 选择同步表结构时,目标数据库不能存在待同步数据库。 目标数据库需要有足够的磁盘空间,约为源库空间大小的1.5倍。 目标数据库版本小于5.7.7时,源库单个索引的全部列的长度不得超过767,反之则不得超过3072。 支持目标数据库中的表比源数据库多列场景,但是需要避免以下场景可能导致的任务失败。
find password from src DB。 可能原因 RDS的安全策略,不允许用户密码为空,但是源库为客户云下自建MySQL,可以设置空密码。 解决方案 在源库执行以下SQL语句,查询密码为空的用户。 MySQL 5.7及以上版本: SELECT USER,HOST,authentication_string
查询任务的参数配置修改历史 功能介绍 查询任务的参数配置修改历史。 接口约束 仅支持MySQL->MySQL、MySQL->PostgreSQL、MySQL->GaussDB分布式、MySQL->GaussDB集中式、MySQL->GaussDB(DWS)、MySQL->Taur
创建RDS for MySQL实例 本章节介绍创建RDS for MySQL灾备实例,选择已规划的灾备实例所属VPC。 创建RDS for MySQL实例 进入购买云数据库RDS页面。 选择区域“华北-北京四”。填选实例信息后,单击“立即购买”。 图1 选择灾备实例引擎版本信息 图2
MySQL->MySQL实时迁移和同步 全量阶段失败报错,关键词“Table *** doesn't exist” 全量阶段失败报错,关键词“The background process is unavailable” 全量阶段失败报错,关键词“Communications link
图2 创建安全组 单击“立即创建”。 返回安全组列表,单击安全组名称。 选择“入方向规则”,单击“添加规则”。 配置入方向规则,放通数据库3306端口。 图3 入方向规则 父主题: 其他云MySQL迁移到云数据库 RDS for MySQL
为了后续使用DRS迁移数据,我们先不删除数据库和表数据,等待迁移完数据库后,再进行数据的清理,释放空间。 删除命令如下:sysbench --db-driver=mysql --mysql-host=<host> --mysql-port=<port> --mysql-user=<user> --mysql-password=<password>
自建MySQL服务器 创建VPC和安全组 创建ECS(MySQL服务器) 安装社区版MySQL 创建ECS并安装MySQL客户端 测试自建MySQL性能 父主题: 实施步骤
将DDM同步到MySQL 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 DDM实例 本地自建MySQL数据库 ECS自建MySQL数据库 其他云上MySQL数据库 RDS for MySQL 数据库账号权限要求 在使用DRS进行同步时,连接源库和目标库的数据库账号需要
创建RDS for MySQL实例 本章节介绍创建DDM下关联的RDS for MySQL实例,创建步骤如下。 创建步骤 单击管理控制台左上角的,选择区域。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。 配置实例名称和实例基本信息。 选择实例规格。
创建ECS并安装MySQL客户端 请参考创建ECS(MySQL服务器)创建MySQL客户端的弹性云服务器。 确保和MySQL服务器所在ECS配置成相同Region、相同可用区、相同VPC、相同安全组。 不用购买数据盘。 云服务器名配置为:ecs-client。 其他参数同MySQL服务器的ECS配置。
任务启动前须知 源数据库要求: 目前仅支持源数据库为RDS for MySQL。 源数据库已完成SQL流量文件录制,RDS for MySQL录制方式可参考开启SQL审计日志。 目标数据库要求: 目前仅支持目标数据库为TaurusDB。 目前仅支持目标数据库版本等于或高于源数据库版本。 目
本云指两端均为华为云数据库实例的录制回放场景。 入云指目标数据库为华为云数据库实例且需将数据传入的场景。 源数据库引擎 选择“MySQL”。 源数据库来源 选择源数据库的具体来源。不同源数据库来源对应的审计日志格式不同,具体可参考审计日志格式说明。 目标数据库引擎 选择“TaurusDB”。
创建RDS for MySQL实例 本章节介绍创建DDM下关联的RDS for MySQL实例,创建步骤如下。 创建步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。