检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本文将介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 操作流程 图1 流程图 前提条件 拥有华为账号。 新的RDS for MySQL实例已创建成功。 源RDS for MySQL实例与目标DDM实例、新RDS for MySQL实例必须处于相同VPC,且安全组配置相同。
MySQL连接DDM时出现乱码如何解决 MySQL连接的编码和实际的编码不一致,可能导致DDM解析时出现乱码。 通过“default-character-set=utf8”指定客户端连接的编码即可。 如下所示: mysql -h 127.0.0.1 -P 5066 -D database
”。 编辑迁移任务,在源库信息栏填入源RDS for MySQL实例的IP地址、端口、用户名密码,单击“测试连接”按钮。目标库信息栏输入DDM账户和密码,单击“测试连接”按钮。两方都连接成功后,单击“下一步”。 选择迁移对象,然后单击“下一步”。 在“预检查”页面,进行迁移任务预
外使用,返回结果与MySQL中的返回结果可能不一致。 不支持的函数 表5 函数的限制 函数 限制条件 ROW_COUNT() DDM 暂不支持ROW_COUNT()函数。 COMPRESS() DDM 暂不支持COMPRESS()函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。
操作流程 创建RDS for MySQL实例,并且将RDS for MySQL数据同步到DDM的主要任务流程如图1所示。 图1 流程图 父主题: 通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM
逻辑库选择“非拆分”模式时,一个逻辑库仅对应一个MySQL实例,在该实例上仅创建1个分片。 逻辑库选择“拆分”模式时,一个逻辑库可对应多个MySQL实例,在每个实例上,可创建1-64个分片。如果因业务需要分片数超过64,请联系DDM技术人员。 分片平移到新实例:将逻辑库部分分片(分库)平移到新增的实例上,数据不会进行重分布。
DDM准备 创建DDM实例 创建逻辑库并关联RDS for MySQL实例 创建DDM账号 创建目标库表结构 父主题: 通过DDM对RDS for MySQL实例进行分库分表
分片变更操作指导 本章节以RDS for MySQL实例为例说明分片变更的使用方法。 前提条件 DDM实例中已创建逻辑库。 已有RDS for MySQL实例与DDM实例处于相同的VPC,该RDS for MySQL实例没有被其它DDM实例使用。如果需增加DN实例,则DN实例与DDM实例需要处于相同的VPC。
通过DDM对RDS for MySQL实例进行分库分表 方案概述 RDS for MySQL准备 DDM准备 创建DRS迁移任务
建表操作是将源RDS for MySQL数据库中的表在DDM实例中重新创建,根据表的性质可选择创建为广播表、单表、拆分表。广播表和单表的使用场景请参考广播表和单表的使用场景。 图1 原数据库表 图2 address_test表数据 图3 user_test表数据 执行以下命令,将源数据
on的RDS for MySQL的数据迁移到DDM实例单库中,包含了如何在华为云创建RDS for MySQL、DDM实例,如何通过VPN网络进行数据迁移等内容。 前提条件 拥有华为账号。 账户余额大于等于0元。 服务列表 虚拟私有云 VPC 虚拟专用网络VPN 云数据库 RDS
执行。 执行语句:nohup {mysqldump 命令行} & 导出表结构 DDM为2.4.X及以上版本执行以下命令导出表结构。 MySQL客户端版本为5.6和5.7时请执行以下命令: mysqldump -h {DDM_ADDRESS} -P {DDM_PORT} -u {DDM_USER}
创建DRS迁移任务 创建DRS迁移任务 确认迁移执行结果 父主题: 通过DDM对RDS for MySQL实例进行分库分表
TRUNCATE TABLE等操作。 DDL失败修复 DDL命令如遇报错,可以使用"check table 表名"命令对各个分片表结构进行校验,识别出失败的分片进行针对性修复。如ALTER TABLE命令遭遇失败可以在命令前添加/*+allow_alter_rerun=true/,
用途:对特定一张逻辑表进行详细检查。 命令格式: check table <table_name> 命令输出: 如果返回结果集为空, 表示该逻辑表各物理分表DDL都是一致的。 如果返回结果集不为空, 表示各个不一致的物理表。 输出详解: 每一行表示一个不一致的物理拆分表的详细检查结果。 DATABASE_NAME:物理表所在的物理分库。
查看购买成功的DDM实例。 图2 购买成功 步骤二:购买RDS for MySQL实例 进入购买云数据库RDS页面。 填选实例信息后单击“立即购买”。 仅支持5.7、8.0版本的RDS for MySQL实例与DDM实例进行关联。 RDS for MySQL实例的虚拟私有云(VPC)和子网必须和D
单击左侧导航栏的“账号管理”页签,进入账号管理页面。 单击“创建DDM账号”按钮进入创建DDM账号页面。 选择创建逻辑库并关联RDS for MySQL实例中创建的逻辑库进行关联,设置用户名和密码以及账号权限,单击“确定”按钮进行账号创建。 图1 创建DDM账号 DDM账号创建成功。
查看购买成功的DDM实例。 图2 购买成功 步骤二:购买RDS for MySQL实例 进入购买云数据库RDS页面。 填选实例信息后单击“立即购买”。 仅支持5.7、8.0版本的RDS for MySQL实例与DDM实例进行关联。 RDS for MySQL实例的虚拟私有云(VPC)和子网必须和D
据迁移结果。确保DDM实例数据与源数据库数据一致。 图1 查看user_test表数据 图2 查看address_test表数据 执行以下命令查看表数据分布情况。广播表各分片数据一致,拆分表数据会按照拆分算法分布在选取的分片中。 show topology from <table_name>;
即对端VPN的子网,此处为源端VPN的子网,与源端RDS for MySQL实例所在VPC的子网保持一致。 DRS迁移任务 迁移任务名 DRS-MySQLToDDM 自定义,易理解可识别。 源数据库引擎 MySQL 本示例中源数据库为MySQL,使用的华为云RDS实例。 目标数据库引擎 DDM 本示例中目标数据库为DDM。