检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
RDS for MySQL准备 此操作默认新的RDS for MySQL实例已创建成功。如需创建实例,请参考购买RDS for MySQL实例。 父主题: 通过DDM对RDS for MySQL实例进行分库分表
通过DDM对RDS for MySQL实例进行分库分表 方案概述 RDS for MySQL准备 DDM准备 创建DRS迁移任务
操作场景 本文将介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 操作流程 图1 流程图 前提条件 拥有华为账号。 新的RDS for MySQL实例已创建成功。 源RDS for MySQL实例与目标DDM实例、新RDS for MySQL实例必须处于相同VPC,且安全组配置相同。
如何通过show full innodb status指令查询RDS for MySQL相关信息 通过MySQL客户端连接DDM实例后,可直接输入show full innodb status指令查询该DDM实例所关联的RDS for MySQL实例信息。可查询信息如: 当前的时间及自上次输出以来经过的时长。
创建RDS for MySQL实例 本章节介绍创建RDS for MySQL实例并构造测试数据。 创建实例 登录华为云控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。 配置实例名称和实例基本信息。
进行建表操作。 建表操作是将源RDS for MySQL数据库中的表在DDM实例中重新创建,根据表的性质可选择创建为广播表、单表、拆分表。广播表和单表的使用场景请参考广播表和单表的使用场景。 图1 原数据库表 图2 address_test表数据 图3 user_test表数据
源端RDS for MySQL准备 创建源端VPC和安全组 创建RDS for MySQL实例 创建源端VPN 父主题: 通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM
逻辑库模式选择拆分库,根据业务需求填写逻辑库总分片数,关联RDS for MySQL准备中已创建成功的新RDS for MySQL实例,然后单击“下一步”。 图1 关联RDS for MySQL实例 输入RDS for MySQL实例密码,进行数据节点可用性检测。测试成功后,单击“完成”。 逻辑库创建成功。
使用mysqldump从MySQL导出数据非常缓慢的原因 mysqldump客户端的版本和DDM所支持的MySQL版本不一致,可能会导致从MySQL导出数据非常缓慢。 建议版本保持一致。 父主题: DDM使用类
for MySQL实例中数据表结构。 表2 表迁移策略 逻辑库类型 逻辑表类型 表结构迁移策略 表数据迁移策略 拆分 拆分表 在原表结构基础上增加拆分键声明(详见建表语句说明文档),形成适用于DDM的建表语句,连接DDM并登录对应逻辑库后执行。 通过DDM导入源表数据。 拆分 广播表
创建RDS for MySQL实例 本章节介绍创建DDM下关联的RDS for MySQL实例,创建步骤如下。 创建步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。
A:根据最佳实践结果,一般建议DDM和RDS for MySQL的资源比保持在1:2。如果DDM是8核16GB,需要选择2个或以上8核16GB的RDS for MySQL实例,RDS for MySQL的具体数量还需参考业务整体数据量综合考虑。 对于生产业务使用的实例,RDS for MySQL需选择主备架构来保证高可用。
分库的拆分键及分表的拆分键,均不支持为空。 在DDM中,一张逻辑表的拆分方式是由拆分函数(包括分片数目与路由算法)与拆分键(包括拆分键的MySQL数据类型)共同定义。 当一张逻辑表的分库拆分方式与分表拆分方式不一致时,如果SQL查询没有同时带上分库条件与分表条件,则DDM在查询过程会产生全分库扫描或全分表扫描的操作。
DDM准备 创建DDM实例 创建逻辑库并关联RDS for MySQL实例 创建DDM账号 创建目标库表结构 父主题: 通过DDM对RDS for MySQL实例进行分库分表
务,将源RDS for MySQL实例的数据迁移到DDM实例中。 填写实例迁移信息,更多参数的说明请参见MySQL迁移至DDM参数说明。 数据流动方向选择“入云”。 源数据库引擎选择“MySQL”。 目标数据库引擎选择“DDM”。 网络类型根据实际情况选择。 目标数据库实例选择创建DDM实例中购买成功的DDM实例。
7及8.0系列版本的RDS for MySQL实例,不支持Serverless类型和容器类型。 不支持GaussDB(for MySQL)实例和云耀数据库实例。 DDM暂不支持MySQL实例配置SSL连接。 禁止MySQL实例开启区分大小写。 如果您使用的MySQL版本为5.7,请您
MySQL连接DDM时出现乱码如何解决 MySQL连接的编码和实际的编码不一致,可能导致DDM解析时出现乱码。 通过“default-character-set=utf8”指定客户端连接的编码即可。 如下所示: mysql -h 127.0.0.1 -P 5066 -D database
如何选择DDM逻辑库分片数 逻辑库选择“非拆分”模式时,一个逻辑库仅对应一个MySQL实例,在该实例上仅创建1个分片。 逻辑库选择“拆分”模式时,一个逻辑库可对应多个MySQL实例,在每个实例上,可创建1-64个分片。如果因业务需要分片数超过64,请联系DDM技术人员。 分片平移
创建DRS迁移任务 创建DRS迁移任务 确认迁移执行结果 父主题: 通过DDM对RDS for MySQL实例进行分库分表
创建DDM账号 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击实例实例名称,进入实例基本信息页面。 单击左侧导航栏的“账号管理”页签,进入账号管理页面。