检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
全局序列结合insert和replace的使用只支持拆分表,不支持广播表和单表。 nextval和currval在insert和replace语句中是从左到右执行的,如果一条语句使用同一个全局序列nextval多次,每出现一次就递增一次。 全局序列是属于逻辑库的,删除逻辑库,所在删除逻辑库的全局序列也会被删除。
适用于需要按年份与一年的周数进行分库的场景,建议该函数与tbpartition YYYYWEEK(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间值的年份与一年的周数计算哈希值,然后再按分库/表数取余。
当拆分键大部分键值的低位部位区分度比较低而高位部分区分度比较高时,则适用于通过此拆分算法提高散列结果的均匀度。 使用说明 拆分键的数据类型必须是整数类型。 路由方式 根据拆分键的键值(键值必须是整数)有符号地向右移二进制移指定的位数(位数由用户通过 DDL 指定),然后将得到的整数值按分库/分表数目取余。
MMDD适用于按一年的天数(即一年中日期)进行分表,分表的表名的下标就是一年中的第几天,一年最多366天。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值所对应的日期在一年中对
如何处理INSERT语句批量插入多条数据时报错 解决方案 建议拆分为多条INSERT语句插入。 父主题: SQL语法类
适用于需要按年份与一年的天数进行分库的场景,建议该函数与tbpartition YYYYDD(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间值的年份与一年的天数计算哈希值,然后再按分库/表数取余。
源端RDS for MySQL准备 创建源端VPC和安全组 创建RDS for MySQL实例 创建源端VPN 父主题: 通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM
例创建完成。 构造数据 登录华为云控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 选择RDS实例,单击实例后的“更多 > 登录”。 在弹出的对话框中输入实例用户名和密码,单击“测试连接”检查。 连接成功后单击“登录”,登录RDS实例。
创建RDS for MySQL实例 本章节介绍创建DDM下关联的RDS for MySQL实例,创建步骤如下。 创建步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。
具体操作请参见数据迁移。 SQL语法 兼容MySQL 5.7和8.0的协议和语法。 读写分离 DDM的读写分离功能对应用透明,无需修改任何业务代码,将只读实例添加到DDM即可。提升数据库处理能力,提高访问效率,轻松应对高并发的实时交易场景。 全局序列 DDM支持分布式全局唯一且有序递增的数字序列。满
如何选择数据节点RDS for MySQL的规格 数据节点RDS for MySQL的规格建议不小于DDM的规格,否则会产生木桶效应,影响性能。 示例: Q:例如DDM是8核16GB,那么RDS for MySQL的规格应该选多少?应该选择主备还是单机架构? A:根据最佳实践结果,一般建议DDM和RDS
MySQL实例 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击实例对应操作栏的“创建逻辑库”。 逻辑库模式选择拆分库,根据业务需求填写逻辑库总分片数,关联RDS
DDM_ADDRESS为待导入数据的DDM实例的地址。 DDM_PORT为DDM实例的端口。 DDM_USER为DDM实例的用户名。 DB_NAME为DDM逻辑库名称,如果导入的是单表,DB_NAME为DDM第一个分片的物理数据库。 mysql_table_schema.sql为待导入的表结构文件名 mysql_table_data
称”,并选择要关联的DDM账号、要关联的实例,单击“下一步”。 本示例中逻辑库模式为单库,逻辑库名称为db_test。 DRS目前仅支持迁移源端MySQL的数据到目标DDM,不支持迁移源库表结构及其他数据库对象,用户需要在目标库根据源端数据库的表结构创建对应的逻辑库。 图1 关联RDS
MySQL客户端类 删除DDM创建的物理库 删除物理库后,原数据将会丢失,新数据将无法写入。 删除DDM创建的物理账号 删除物理账号后将无法在DDM上创建逻辑表。 删除DDM创建的物理表 删除物理表后,将导致DDM数据丢失,DDM后续无法正常使用该逻辑表。 修改DDM创建的物理表名 将导致DD
单击管理控制台左上角的,选择区域“华南-广州”。 单击左侧的服务列表图标,选择“网络 > 虚拟专用网络 VPN”。 在左侧导航栏选择“虚拟专用网络 > 企业版-VPN网关”。 在“VPN网关”界面,单击“创建VPN网关”,更多参数的说明请参见创建VPN网关。 VPN网关接入的虚拟私有云(VPC)和源端RDS
MySQL实例准备好网络资源和安全组。 创建VPC 登录华为云控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击左侧的服务列表图标,选择“网络 > 虚拟私有云 VPC”。 进入虚拟私有云信息页面。 单击“创建虚拟私有云”,购买VPC,更多参数的说明请参见创建虚拟私有云。 单击“立即创建”。 返回VPC列表,查看创建VPC是否创建完成。
MySQL连接DDM时出现乱码如何解决 MySQL连接的编码和实际的编码不一致,可能导致DDM解析时出现乱码。 通过“default-character-set=utf8”指定客户端连接的编码即可。 如下所示: mysql -h 127.0.0.1 -P 5066 -D database
DDM_ADDRESS为待导入数据的DDM实例的地址。 DDM_PORT为DDM实例的端口。 DDM_USER为DDM实例的用户名。 DB_NAME为DDM逻辑库名称,如果导入的是单表,DB_NAME为DDM实例第一个分片的物理数据库。 mysql_table_schema.sql为待导入的表结构文件名。
操作场景 本文将介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 操作流程 图1 流程图 前提条件 拥有华为账号。 新的RDS for MySQL实例已创建成功。 源RDS for MySQL实例与目标DDM实例、新RDS for MySQL实例必须处于相同VPC,且安全组配置相同。