检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DDL语法时,最终ALGORITHM、LOCK选项生效位置为后端数据库,当后端有多个数据库时,DDM表现出的并发性可能与参数值不一致。 使用示例 增加字段 # 向表t2中增加字段x,类型为int,Online DDL 算法为inplace,锁为NONE ALTER TABLE t2 ADD COLUMN
RDS相关类 数据库表名是否区分大小写 RDS for MySQL哪些高危操作会影响DDM 如何处理表中存在主键重复的数据 如何通过show full innodb status指令查询RDS for MySQL相关信息 如何选择数据节点RDS for MySQL的规格
通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM 介绍如何通过DRS服务将RDS for MySQL数据迁移到DDM实例单库中。 通过DDM对RDS for MySQL实例进行分库分表 介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 跨分片复杂SQL调优
by和Order by SQL调优建议 当group by 字段不是表中现有的数据列时,可以使用generated column机制(MySQL5.7版本以上支持,5.6及之前版本可新建普通字段和添加索引),创建新列并添加索引,将新创建字段作为group by条件,避免使用临时表。 保持group
本实践主要介绍将其他云MySQL数据库中数据迁移到DDM的操作流程。 华为云上自建MySQL迁移到DDM 企业在华为云上自建MySQL数据库,希望能使用DDM将数据进行分布式存储。 本实践主要介绍将华为云上自建MySQL数据库中数据迁移到DDM的操作流程。 从华为云RDS for MySQL迁移到DDM
节点(RDS for MySQL)之间的会话信息列表。 图2 DN会话列表 在右上角选择一个或多个数据节点,查看DDM与数据节点之间的会话信息。如果您选择多个数据节点,当前分页数量及总条数仅针对单个数据节点查询生效。 在右上角通过输入SQL语句查询对应的会话信息。 在会话列表中,
例如ECS、DDM、RDS分别配置了安全组:sg-ECS、sg-DDM、sg-RDS。 例如DDM实例服务端口为5066,RDS for MySQL实例服务端口为3306。 以下规则,远端可使用安全组,也可以使用具体的IP地址。 ECS所在安全组需要增加下图中的入方向规则,以保证客户端能正常访问DDM实例:
DDM支持如下两种方式进行数据迁移。 基于MySQL官方客户端工具,此部分以RDS for MySQL 为例重点介绍该迁移方式。 基于数据复制服务DRS。 迁移场景 数据迁移主要有以下场景: 场景一:数据中心自建MySQL迁移到DDM 场景二:其他云MySQL迁移到DDM 场景三:华为云上自建MySQL迁移到DDM
么全部失败。 DDM的分布式事务实现 DDM中的分布式事务模块基于MySQL XA协议实现,XA协议是对2PC(Two Phase Commit)事务模型的一种实现,2PC是一种经典的分布式事务实现方案。基于MySQL XA协议的分布式事物可以实现强一致性写,整体分布式事物的一致性说明可参考MySQL官方文档。
全局序列在INSERT或REPLACE语句中的使用 要想在同一个实例下实现跨逻辑库序列的全局唯一,可以在INSERT语句或者REPLACE语句中结合全局序列一起使用。INSERT语句和REPLACE语句支持nextval和currval两个方式序列的获取。其中,nextval表示
读权重设置成功后,在DN管理列表页面将显示最新设置的权重数。 设置单个实例的读权重 登录分布式数据库中间件控制台。 在实例管理列表页面,选择目标实例。 单击实例名称,进入基本信息页面。 在左侧导航栏,选择“DN管理”页签。 单击目标实例操作列“设置读权重”。 图2 单个设置读权重
应用容器化改造流程 步骤1:对应用进行分析 更多 使用类 如何解决JDBC驱动方式连接DDM异常问题 DDM如何进行分片 导入数据到DDM后出现主键重复 如何处理配置参数未超时却报错 更多 RDS相关类 数据库表名是否区分大小写 RDS哪些高危操作会影响到DDM 更多 磁盘相关 应用容器化改造介绍
DDM是否支持分布式JOIN DDM支持分布式JOIN。 表设计时,增加字段冗余 支持跨分片的JOIN,主要实现的方式有三种:广播表,ER分片和ShareJoin。 DDM目前禁止多个表的跨库update和delete。 父主题: SQL语法类
暂不支持SHA()函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。 SHA1() DDM 暂不支持SHA1()函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。 MD5() DDM 暂不支持MD5()函数。如果无法确认函数是否能下推到RDS,请不要使用该函数。 AES_ENCRYPT()
通过Navicat客户端连接DDM实例 操作场景 本文将介绍如何获取弹性公网的IP地址,并通过Navicat客户端连接DDM实例。 Navicat客户端连接DDM实例 登录分布式数据库中间件服务,单击需要连接的DDM实例名称,进入实例基本信息页面。 在“实例信息”模块的弹性公网IP单击“绑定”。选择任意地址进行绑定。
DDM使用类 DDM如何进行分片 如何解决JDBC驱动方式连接DDM异常问题 使用mysqldump从MySQL导出数据非常缓慢的原因 导入数据到DDM过程中出现主键重复 如何处理数据迁移过程中自增列报错:主键重复 如何处理配置参数未超时却报错 如何处理DDM逻辑库与RDS实例的先后关系
广播表分片数量增加。 该方式适用于单个物理表数据量过大,查询性能受到限制,但是整体RDS for MySQL实例可用空间充足的场景。 图2 增加分片数,不增加RDS for MySQL实例数 方式三:增加分片数,也增加数据节点数量 该变更方式既增加分片数,也增加数据节点数量。此
预检查内容 检查内容 检查目的 检查未通过解决方案 表名长度检查 分片变更需要数据重分布时(例如:增加分片),会创建临时表,临时表的表名长度会略长于原表名,需确保临时表的表名长度不超过MySQL限制。 请修改过长的表名。 DN实例binlog全量备份时间检查 客户全量备份是否保留足够长时间。
RDS_PORT为RDS实例的端口。 RDS_USER为RDS实例的用户名。 DB_NAME为RDS数据库名称,如果导入的是单表,DB_NAME为RDS第一个分片的物理数据库。 mysql_table_schema.sql为待导入的表结构文件名。 mysq_table_data.sql为待导入的表数据文件名。
前提条件 已购买实例,并且实例状态为“运行中”。 已创建账号。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,单击目标实例操作栏“创建逻辑库”。 图1 创建逻辑库-入口1 您也可以在实例管理列表页面,单击目标实例名称,进入基本信息页面。在左侧导航栏选择逻辑库管理页签,在页面右侧单击创建逻辑库。