检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
图5 执行命令查看进度 一个源RDS实例查询出一条记录,存在N个源RDS实例会查询出N条记录。 SOURCE_RDS:源RDS实例。 MIGRATE_ID:扩容ID。 SUCCEED_TABLE_STRUCTURE:已经迁移成功的表结构数。 TOTAL_TABLE_STRUCTURE:需要迁移的表结构总数。
如何选择DDM逻辑库分片数 逻辑库选择“非拆分”模式时,一个逻辑库仅对应一个MySQL实例,在该实例上仅创建1个分片。 逻辑库选择“拆分”模式时,一个逻辑库可对应多个MySQL实例,在每个实例上,可创建1-64个分片。如果因业务需要分片数超过64,请联系DDM技术人员。 分片平移
创建目标端VPC和安全组 创建DDM实例 创建RDS for MySQL实例 创建逻辑库并关联RDS for MySQL实例 创建DDM账号 创建目标库表结构 创建目标端VPN 父主题: 通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM
广播表和单表的使用场景 单表 DDM管理控制台不提供单表创建操作,用户可以通过MySQL客户端或应用程序连接到DDM实例后自行创建。 如果一张表的数据量预估在1000万条以下,且没有与其他拆分表进行关联查询的需求,建议将其设置为单表类型,存储在默认分片中。 单表创建样例,不做任何拆分:
实例信息设置完成后,单击页面下方“立即购买”。 实例创建成功后,用户可以在“实例管理”页面对其进行查看和管理。 数据库端口默认为5066,实例创建成功后可修改。当实例运行状态为“运行中”时,表示实例创建完成。 父主题: 目标端DDM准备
新建的DDM实例或者满足使用条件的已有实例均不能挂载RDS for MySQL实例,不能创建逻辑库和账号。 在云数据库 RDS控制台,创建与源DDM实例下相同数量的RDS for MySQL实例。 新创建的RDS for MySQL实例版本不得低于源DDM下RDS for MySQL实例版本号。 每个实例存储空间不得小于源DDM实例下的RDS
> {mysql_table_data_ddm.sql} 为了提高导出数据的效率,对于非拆分库的表可以直连RDS for MySQL实例进行导出。 mysqldump5.7官网链接:https://dev.mysql.com/doc/refman/5.7/en/mysqldump
分库的拆分键及分表的拆分键,均不支持为空。 在DDM中,一张逻辑表的拆分方式是由拆分函数(包括分片数目与路由算法)与拆分键(包括拆分键的MySQL数据类型)共同定义。 当一张逻辑表的分库拆分方式与分表拆分方式不一致时,如果SQL查询没有同时带上分库条件与分表条件,则DDM在查询过程会产生全分库扫描或全分表扫描的操作。
DDM支持通用的DDL操作:建库,建表,修改表结构等,但实现方式与普通的MySQL数据库有所区别。 在MySQL客户端执行DDL操作 rename table name不支持与其他DDL语句在同一条SQL执行。 对拆分表执行修改字段名操作的同时执行类似SELECT * [DDL相关表]等包含全字段的查询语句时
单击左侧的服务列表图标,选择“网络 > 虚拟私有云 VPC”。 进入虚拟私有云信息页面。 单击“创建虚拟私有云”,购买VPC,更多参数的说明请参见创建虚拟私有云。 单击“立即创建”。 返回VPC列表,查看创建VPC是否创建完成。 当VPC列表的VPC状态为“可用”时,表示VPC创建完成。
创建DDM账号 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击实例实例名称,进入实例基本信息页面。 在左侧导航栏选择“账号管理”,进入账号管理页面。
创建目标端VPN 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“网络 > 虚拟专用网络 VPN”。 在左侧导航栏选择“虚拟专用网络 > 企业版-对端网关”。 在“VPN网关”界面,单击“创建对端网关”,更多参数的说明请参见创建对端网关。
选择“包年/包月”模式,单击“去支付”。 查看购买成功的DDM实例。 图2 购买成功 步骤二:购买RDS for MySQL实例 进入购买云数据库RDS页面。 填选实例信息后单击“立即购买”。 仅支持5.7、8.0版本的RDS for MySQL实例与DDM实例进行关联。 RDS for MySQL实例的虚拟私
选择“包年/包月”模式,单击“去支付”。 查看购买成功的DDM实例。 图2 购买成功 步骤二:购买RDS for MySQL实例 进入购买云数据库RDS页面。 填选实例信息后单击“立即购买”。 仅支持5.7、8.0版本的RDS for MySQL实例与DDM实例进行关联。 RDS for MySQL实例的虚拟私
参数的范围为-∞到709,超过此范围会报错。 表4 字符串函数 函数表达式 示例 支持范围 TRIM() SELECT TRIM(' hello, world ') AS trim_character FROM Character; 参数需为字符串相关类型。 使用前,请先查看该函数是否在支持范围,建议
RDS相关类 数据库表名是否区分大小写 RDS for MySQL哪些高危操作会影响DDM 如何处理表中存在主键重复的数据 如何通过show full innodb status指令查询RDS for MySQL相关信息 如何选择数据节点RDS for MySQL的规格
什么是分布式数据库中间件 产品定义 分布式数据库中间件(Distributed Database Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DD
创建表 禁止创建表名以"_ddm"为前缀的表,系统默认认定此类表为系统内部表。 拆分表不支持全局唯一索引,当唯一键和拆分键不一致时,不能保证数据的唯一性。 建议使用bigint型作为自增键的数据类型。tinyint、smallint、mediumint、integer、int数据
DDM支持如下两种方式进行数据迁移。 基于MySQL官方客户端工具,此部分以RDS for MySQL 为例重点介绍该迁移方式。 基于数据复制服务DRS。 迁移场景 数据迁移主要有以下场景: 场景一:数据中心自建MySQL迁移到DDM 场景二:其他云MySQL迁移到DDM 场景三:华为云上自建MySQL迁移到DDM
如何处理表中存在主键重复的数据 场景 DDM实例的逻辑表中已存在主键数据类型边界值的记录,如果插入的数据超过主键数据类型的范围,表中会出现主键重复的数据。 处理方法 登录云服务管理控制台。 在RDS for MySQL的“实例管理”页面,查找DDM实例对应的RDS for MySQL实例,单击目标RDS