检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DDM准备 创建DDM实例 创建逻辑库并关联RDS for MySQL实例 创建DDM账号 创建目标库表结构 父主题: 通过DDM对RDS for MySQL实例进行分库分表
SELECT JOIN Syntax 常用语法 table_references: table_reference [, table_reference] ... table_reference: table_factor | join_table table_factor: tbl_name
建议使用bigint型作为自增键的数据类型。tinyint、smallint、mediumint、integer、int数据类型不建议作为自增键的类型,容易越界造成值重复。 通过“show sequences”命令可查看自增序列的使用率。如果使用率已达到或接近100%,请不要再插入数据,联系DDM客服人员进行处理。
/v1/{project_id}/instances ddm:instance:create 购买实例操作依赖以下权限,即要配置购买实例权限,必须配置以下依赖的权限,否则购买失败。 ecs:*:get* ecs:*:list* vpc:vpcs:list vpc:securityGroups:get
补充说明 HINT对于所有的单表以及全局表失效,只对各种分表起作用。 父主题: TRUNCATE TABLE
自定义HINT跳过执行计划缓存 DDM提供HINT来控制SELECT语句是否跳过缓存的执行计划。 HINT的格式为: /*!GAUSS:skip_plancache=flag */ 其中flag可以是true或者false,true代表跳过执行计划缓存,false代表不跳过。 目前只支持SELECT语句。
目前只支持SELECT语句。 通常情况下,实现了读写分离之后,主实例上只能进行写操作,只读实例上只进行读操作。但是在某些特殊情况,需要在主实例上读取数据时,可以用自定义Hint的方式指定在主实例上进行读操作。此方式仅适用于查询功能。 父主题: 实用SQL语句
创建DRS迁移任务 创建DRS迁移任务 确认迁移执行结果 父主题: 通过DDM对RDS for MySQL实例进行分库分表
DDM是否支持分布式JOIN DDM支持分布式JOIN。 表设计时,增加字段冗余 支持跨分片的JOIN,主要实现的方式有三种:广播表,ER分片和ShareJoin。 DDM目前禁止多个表的跨库update和delete。 父主题: SQL语法类
RDS for MySQL准备 此操作默认新的RDS for MySQL实例已创建成功。如需创建实例,请参考购买RDS for MySQL实例。 父主题: 通过DDM对RDS for MySQL实例进行分库分表
DD按日期哈希 适用场景 DD适用于按日期的天数进行分表,分表的表数就是日期的天数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的日期的天数进行取余运算并得到分表下标。 例
ALLOW_ALTER_RERUN 命令格式: /*+ allow_alter_rerun=true*/<ALTER TABLE的命令> 描述: 使用该hint可支持命令重复执行不报错,共支持八种alter table的命令形式: add column、modify column、drop column、add index、drop
status指令查询该DDM实例所关联的RDS for MySQL实例信息。可查询信息如: 当前的时间及自上次输出以来经过的时长。 可以使用命令show full innodb status来查看master thread的状态信息。 如果有高并发的工作负载,您需关注SEMAPHOR
通过HINT指定分片直接执行SQL DDM提供HINT在一个或多个分片上执行SQL语句。 HINT支持以下两种格式: 一个分片上执行SQL:/*+db=<physical_db_name>*/ <your query>; 多个分片上执行SQL:/*+db={<physical_db_name1>
MySQL连接DDM时出现乱码如何解决 MySQL连接的编码和实际的编码不一致,可能导致DDM解析时出现乱码。 通过“default-character-set=utf8”指定客户端连接的编码即可。 如下所示: mysql -h 127.0.0.1 -P 5066 -D database
如何处理配置参数未超时却报错 建议可将参数SocketTimeOut值调整或者去掉,默认为0则不断开连接。 父主题: DDM使用类
操作场景 本文将介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 操作流程 图1 流程图 前提条件 拥有华为账号。 新的RDS for MySQL实例已创建成功。 源RDS for MySQL实例与目标DDM实例、新RDS for MySQL实例必须处于相同VPC,且安全组配置相同。
待迁移任务结束后,可登录DDM实例查看数据迁移结果。确保DDM实例数据与源数据库数据一致。 图1 查看user_test表数据 图2 查看address_test表数据 执行以下命令查看表数据分布情况。广播表各分片数据一致,拆分表数据会按照拆分算法分布在选取的分片中。 show topology