检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Middleware,简称DDM),是一款分布式关系型数据库中间件。兼容MySQL协议,专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈,实现海量数据高并发访问。 DDM支持的功能如表1所示。 表1 DDM服务功能列表 功能分类 功能描述 权限管理 包括创建用户并授权使用DDM和DDM服务的自定义策略。具体使用方法请参考权限管理。
读取表内容 Insert 插入数据到表 Update 更新表中数据 Grant 授予用户权限 Revoke 删除用户权限 Set SET用户密码权限 File 从文件加载数据库权限 Create User 创建用户 注意事项 DDM账户的基础权限base_authority只能通过控制台界面来修改。
由于分布式事务的特性,使用LOAD DATA导入数据时,需要设置手动提交事务,以确保数据记录改动的准确无误。 例如客户端可进行如下设置: mysql> set autocommit=0; mysql> LOAD DATA LOCAL INFILE '/data/data.txt' IGNORE INTO
java:104) at com.mysql.jdbc.MysqlIO.invokeStatementInterceptorsPost(MysqlIO.java:2885) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2808)
使用须知 DDM支持查看CN会话(应用与DDM之间的连接)和DN会话(DDM与数据节点之间的连接)。 仅支持数据节点为RDS for MySQL。 不支持创建中、冻结、异常实例。 CPU负载高的情况下,Kill会话请求有一定概率会超时(大约1分钟),可以稍后刷新会话列表查看目标会
DDL概述 DDM支持通用的DDL操作:建库,建表,修改表结构等,但实现方式与普通的MySQL数据库有所区别。 在MySQL客户端执行DDL操作 rename table name不支持与其他DDL语句在同一条SQL执行。 对拆分表执行修改字段名操作的同时执行类似SELECT *
元,表示DDM关联的RDS for MySQL实例,DDM目前仅支持这种引擎,一个实例代表了一个独立运行的数据库。您可以在一个DDM实例中通过创建多个逻辑库管理多个数据节点,并且可以独立访问数据节点。 DDM实例自身不存储客户业务相关数据,客户业务相关数据都存储在数据节点分片中。
CK显示声明的支持,并提供透传至后端数据库节点能力(此功能需满足DDM内核版本大于等于3.1.0版本)。 当DDM实例关联的DN实例为MySQL5.7版本时,Online DDL操作支持以下语法: ALTER TABLE tbl_name [alter_option [,
参数类型 描述 x-auth-token 是 String 用户Token。 通过调用IAM服务的“获取用户Token”接口来获取。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 管理员账号用户名。 长度为1-32个字符。 必须以字母开头。 可以包
迁移介绍 迁移评估 场景一:数据中心自建MySQL迁移到DDM 场景二:其他云MySQL迁移到DDM 场景三:华为云上自建MySQL迁移到DDM 场景四:从DDM实例导出数据 场景五:其他异构数据库迁移到DDM 场景六:从华为云RDS for MySQL迁移到DDM
分库的拆分键及分表的拆分键,均不支持为空。 在DDM中,一张逻辑表的拆分方式是由拆分函数(包括分片数目与路由算法)与拆分键(包括拆分键的MySQL数据类型)共同定义。 当一张逻辑表的分库拆分方式与分表拆分方式不一致时,如果SQL查询没有同时带上分库条件与分表条件,则DDM在查询过程会产生全分库扫描或全分表扫描的操作。
登录分布式数据库中间件控制台。 在“参数模板”页面的“自定义”页签,选择一个用户创建的参数模板,单击“比较”。 您也可以在“参数模板”页面的“系统默认”页签,选择一个用户创建的参数模板进行比较。 选择不同参数模板,单击“确定”,比较两个参数模板之间的配置参数差异项。 图1 选择并比较参数模板 有
数据节点,且数据节点没有被其他DDM实例使用。DDM将在关联的数据节点上新建数据库,不会影响已有的库表。 创建逻辑库时,同一个逻辑库,MySQL大版本需要相同,不可以混用。 数据节点的规格建议不小于DDM的规格,否则会影响性能。 创建逻辑库时,同一个DDM实例可以创建多个逻辑库。多个逻辑库可关联同一个数据节点。
DDM使用类 DDM如何进行分片 如何解决JDBC驱动方式连接DDM异常问题 使用mysqldump从MySQL导出数据非常缓慢的原因 导入数据到DDM过程中出现主键重复 如何处理数据迁移过程中自增列报错:主键重复 如何处理配置参数未超时却报错 如何处理DDM逻辑库与RDS实例的先后关系
by和Order by SQL调优建议 当group by 字段不是表中现有的数据列时,可以使用generated column机制(MySQL5.7版本以上支持,5.6及之前版本可新建普通字段和添加索引),创建新列并添加索引,将新创建字段作为group by条件,避免使用临时表。
ECS已安装MySQL官方客户端,MySQL客户端版本建议为5.6或5.7。 Redhat系列Linux安装命令:yum install mysql mysql-devel Debian系列Linux安装命令:apt install mysql-client-5.7 mysql-client-core-5
分片变更需要数据重分布时(例如:增加分片),会创建临时表,临时表的表名长度会略长于原表名,需确保临时表的表名长度不超过MySQL限制。 请修改过长的表名。 DN实例binlog全量备份时间检查 客户全量备份是否保留足够长时间。 进入DN console,确保全量备份保留时间大于等于30天。 DN节点binlog必须开启
ECS已安装MySQL官方客户端,MySQL客户端版本建议为5.6或5.7。 Redhat系列Linux安装命令:yum install mysql mysql-devel Debian系列Linux安装命令:apt install mysql-client-5.7 mysql-client-core-5
单击实例名称,进入基本信息页面。 在左侧导航栏,选择“DN管理”页签,单击“开启读写分离”。 在弹窗中单击“确定”,开启读写分离。 对于RDS for MySQL实例来说,开启读写分离后,会将主实例的读权重设置为100,您可以根据业务需求自行调整主实例和只读实例的读权重。 由于只读实例的数据是从主
DDM中的分布式事务模块基于MySQL XA协议实现,XA协议是对2PC(Two Phase Commit)事务模型的一种实现,2PC是一种经典的分布式事务实现方案。基于MySQL XA协议的分布式事物可以实现强一致性写,整体分布式事物的一致性说明可参考MySQL官方文档。 在分布式系