检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
通过DDM对RDS for MySQL实例进行分库分表 方案概述 RDS for MySQL准备 DDM准备 创建DRS迁移任务
登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击页面右上方的“购买数据库中间件实例”。 按需设置实例相关信息和规格。参数说明请参考实例购买。 实例信息设置完成后,单击页面下方“立即购买”。
查看购买成功的DDM实例。 图2 购买成功 步骤二:购买RDS for MySQL实例 进入购买云数据库RDS页面。 填选实例信息后单击“立即购买”。 仅支持5.7、8.0版本的RDS for MySQL实例与DDM实例进行关联。 RDS for MySQL实例的虚拟私有云(VPC)和子网必须和D
通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM 方案概述 资源和成本规划 操作流程 源端RDS for MySQL准备 目标端DDM准备 创建VPN连接 创建DRS迁移任务 确认迁移执行结果
创建DDM账号 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击实例实例名称,进入实例基本信息页面。 在左侧导航栏选择“账号管理”,进入账号管理页面。
暂不支持SHA()函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。 SHA1() DDM 暂不支持SHA1()函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。 MD5() DDM 暂不支持MD5()函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。 AES_ENCRYPT()
创建目标端VPN 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“网络 > 虚拟专用网络 VPN”。 在左侧导航栏选择“虚拟专用网络 > 企业版-对端网关”。 在“VPN网关”界面,单击“创建对端网关”,更多参数的说明请参见创建对端网关。
仅支持数据节点为RDS for MySQL。 不支持创建中、冻结、异常实例。 CPU负载高的情况下,Kill会话请求有一定概率会超时(大约1分钟),可以稍后刷新会话列表查看目标会话是否还存在,如果还存在则需要重新执行Kill会话操作。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,单击进入目标实例。
创建目标端VPC和安全组 创建目标端VPC和安全组,为创建DDM实例准备好网络资源和安全组。 创建VPC 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“网络 > 虚拟私有云 VPC”。 进入虚拟私有云信息页面。 单击“创建虚
确认迁移执行结果 操作步骤 待迁移任务结束后,可登录DDM实例查看数据迁移结果。确保DDM实例数据与源数据库数据一致。 图1 查看user_test表数据 图2 查看address_test表数据 执行以下命令查看表数据分布情况。广播表各分片数据一致,拆分表数据会按照拆分算法分布在选取的分片中。
DDL概述 DDM支持通用的DDL操作:建库,建表,修改表结构等,但实现方式与普通的MySQL数据库有所区别。 在MySQL客户端执行DDL操作 rename table name不支持与其他DDL语句在同一条SQL执行。 对拆分表执行修改字段名操作的同时执行类似SELECT *
功能总览 分布式数据库中间件(Distributed Database Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DDM支持的功能如表1所示。 表1
创建逻辑库时,仅支持关联和DDM实例处于相同VPC的数据节点,且数据节点没有被其他DDM实例使用。DDM将在关联的数据节点上新建数据库,不会影响已有的库表。 创建逻辑库时,同一个逻辑库,MySQL大版本需要相同,不可以混用。 数据节点的规格建议不小于DDM的规格,否则会影响性能。 创建逻辑库时,同一个
DDM支持如下两种方式进行数据迁移。 基于MySQL官方客户端工具,此部分以RDS for MySQL 为例重点介绍该迁移方式。 基于数据复制服务DRS。 迁移场景 数据迁移主要有以下场景: 场景一:数据中心自建MySQL迁移到DDM 场景二:其他云MySQL迁移到DDM 场景三:华为云上自建MySQL迁移到DDM
迁移前准备 准备可以访问旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例的ECS。 确保旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例都在同一个VPC下,保证网络互通。 旧RDS实例、目标DDM实例和目标DDM实例关联的RDS实例的安全组建议配置相同,如果不同则需要放开对应端口访问。
java:104) at com.mysql.jdbc.MysqlIO.invokeStatementInterceptorsPost(MysqlIO.java:2885) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2808)
创建DDM实例 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击页面右上方的“购买数据库中间件实例”。 按需设置实例相关信息和规格,相关参数说明请参见创建DDM实例。
分布式数据库中间件 DDM 创建逻辑库和逻辑表 03:13 创建逻辑库和逻辑表 分布式数据库中间件 DDM 申请DDM实例并导入RDS实例 03:03 申请DDM实例并导入RDS实例 分布式数据库中间件 DDM 访问DDM实例 04:08 访问DDM实例
企业在华为云上自建MySQL数据库,希望能使用DDM将数据进行分布式存储。 本实践主要介绍将华为云上自建MySQL数据库中数据迁移到DDM的操作流程。 从华为云RDS for MySQL迁移到DDM 本实践主要介绍通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM的操作流程。
RDS_PORT为RDS实例的端口。 RDS_USER为RDS实例的用户名。 DB_NAME为RDS数据库名称,如果导入的是单表,DB_NAME为RDS第一个分片的物理数据库。 mysql_table_schema.sql为待导入的表结构文件名。 mysq_table_data.sql为待导入的表数据文件名。