检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
查看购买成功的DDM实例。 图2 购买成功 步骤二:购买RDS for MySQL实例 进入购买云数据库RDS页面。 填选实例信息后单击“立即购买”。 仅支持5.7、8.0版本的RDS for MySQL实例与DDM实例进行关联。 RDS for MySQL实例的虚拟私有云(VPC)和子网必须和D
EXCLUSIVE} } 在使用Online DDL语法时,最终ALGORITHM、LOCK选项生效位置为后端数据库,当后端有多个数据库时,DDM表现出的并发性可能与参数值不一致。 使用示例 增加字段 # 向表t2中增加字段x,类型为int,Online DDL 算法为inplace,锁为NONE ALTER
查看购买成功的DDM实例。 图2 购买成功 步骤二:购买RDS for MySQL实例 进入购买云数据库RDS页面。 填选实例信息后单击“立即购买”。 仅支持5.7、8.0版本的RDS for MySQL实例与DDM实例进行关联。 RDS for MySQL实例的虚拟私有云(VPC)和子网必须和D
DDM支持如下两种方式进行数据迁移。 基于MySQL官方客户端工具,此部分以RDS for MySQL 为例重点介绍该迁移方式。 基于数据复制服务DRS。 迁移场景 数据迁移主要有以下场景: 场景一:数据中心自建MySQL迁移到DDM 场景二:其他云MySQL迁移到DDM 场景三:华为云上自建MySQL迁移到DDM
Index 创建/删除index Alter 执行ALTER语句 Create 创建table Select 读取表内容 Insert 插入数据到表 Update 更新表中数据 Grant 授予用户权限 Revoke 删除用户权限 Set SET用户密码权限 File 从文件加载数据库权限
下内容的检查。 预检查内容 表1 预检查内容 检查内容 检查目的 检查未通过解决方案 表名长度检查 分片变更需要数据重分布时(例如:增加分片),会创建临时表,临时表的表名长度会略长于原表名,需确保临时表的表名长度不超过MySQL限制。 请修改过长的表名。 DN实例binlog全量备份时间检查
0版本。 开启读写分离 登录分布式数据库中间件控制台。 在实例管理列表页面,选择目标实例。 单击实例名称,进入基本信息页面。 在左侧导航栏,选择“DN管理”页签,单击“开启读写分离”。 在弹窗中单击“确定”,开启读写分离。 对于RDS for MySQL实例来说,开启读写分离后,会将
如何处理表中存在主键重复的数据 场景 DDM实例的逻辑表中已存在主键数据类型边界值的记录,如果插入的数据超过主键数据类型的范围,表中会出现主键重复的数据。 处理方法 登录云服务管理控制台。 在RDS for MySQL的“实例管理”页面,查找DDM实例对应的RDS for MySQL实例,单击目标RDS
REPEAT、WHILE…DO…END WHILE 等复合语句。 DDL语法 拆分表和广播表不支持外键。 不支持修改分片字段(拆分键)。 不支持ALTER DATABASE Syntax。 不支持从另一张表创建新的拆分表、广播表。 create table不支持generated column语法。
java:104) at com.mysql.jdbc.MysqlIO.invokeStatementInterceptorsPost(MysqlIO.java:2885) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2808)
TABLE_NAME:逻辑表名称。 TABLE_TYPE:逻辑表类型。 SINGLE:单表。 BROADCAST:广播表。 SHARDING:拆分表。 DDL_CONSISTENCY:该逻辑表对应所有物理表DDL是否一致。 TOTAL_COUNT:该逻辑表有几个物理表。 INCONSIS
片总数、分表总数、分表规则都会发生变化,数据将重新分布到不同的分片中,原来分片上的表将被清理,广播表分片数量增加。 该方式适用于RDS for MySQL实例无法满足存储空间,读写性能,且单个物理表数据量过大,查询性能受到限制的场景。 图3 既增加分片数,也增加RDS for MySQL实例数
通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM 介绍如何通过DRS服务将RDS for MySQL数据迁移到DDM实例单库中。 通过DDM对RDS for MySQL实例进行分库分表 介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 跨分片复杂SQL调优
分布式数据库中间件(Distributed Database Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DDM支持的功能如表1所示。 表1 DDM服务功能列表 功能分类 功能描述
账号规则 账号 与MySQL不同,DDM只通过用户名确定一个账号,而不是通过'username'@'host'方式来确定一个账号。 用户名规则 大小写敏感。 长度为1-32个字符,必须以字母开头,可以包含字母,数字、下划线,不能包含其它特殊字符。 密码规则 长度为8~32个字符。
DDM支持通用的DDL操作:建库,建表,修改表结构等,但实现方式与普通的MySQL数据库有所区别。 在MySQL客户端执行DDL操作 rename table name不支持与其他DDL语句在同一条SQL执行。 对拆分表执行修改字段名操作的同时执行类似SELECT * [DDL相关表]等包含全字段的
DDM事务模型 因为DDM中的表一般都做了分库分表,使得这些表中的数据可能分布在很多个RDS实例上的不同数据库分片内。在DDM中一个事务中对各个逻辑表的增删改查很有可能实际发生在多个RDS实例上的不同数据库分片上,每个RDS实例上同一数据库分片内所发生的对分片内数据表的一系列操作相当于一个
该场景不支持通过DDM关联旧RDS实例进行数据关联,需要将旧RDS实例数据导出后再导入到DDM实例完成数据迁移。 目标DDM关联的RDS版本与旧RDS的MySQL版本需要保持一致。 从旧RDS导出数据 登录ECS。 执行如下命令导出结构数据,其中斜体参数需根据实际情况配置,详细参数说明如表1所示。 mysqldump
删除操作无法恢复,请谨慎操作。 如果DDM上存在已关联的RDS for MySQL,删除DDM时系统会提醒您关联的实例信息,包括实例名称、实例状态和数据库类型。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,在目标实例操作栏,选择“更多 > 删除实例”。 如需删
登录分布式数据库中间件控制台。 在实例管理列表页面,单击进入目标实例。 单击左侧菜单栏的“会话管理”页签,进入“CN会话(逻辑)”页面。 在“CN会话(逻辑)”页面,可以查看到应用与DDM之间的会话信息列表。 图1 CN会话列表 在右上角通过输入关键字查询对应的会话信息。 在会话列表中,勾选一条或多条会