检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
企业在华为云上自建MySQL数据库,希望能使用DDM将数据进行分布式存储。 本实践主要介绍将华为云上自建MySQL数据库中数据迁移到DDM的操作流程。 从华为云RDS for MySQL迁移到DDM 本实践主要介绍通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM的操作流程。
创建表 禁止创建表名以"_ddm"为前缀的表,系统默认认定此类表为系统内部表。 拆分表不支持全局唯一索引,当唯一键和拆分键不一致时,不能保证数据的唯一性。 建议使用bigint型作为自增键的数据类型。tinyint、smallint、mediumint、integer、int数据
等影响Metadata的重要操作也会触发元数据备份。 备份原理如图1所示。 图1 备份原理 元数据库是用来存放DDM实例信息以及下挂的数据节点信息,各区域的所有DDM实例共用一个元数据库。 父主题: 备份恢复
创建账号 当同一数据库实例或同一数据库需要不同权限的用户访问时,可创建多个用户。您可以在分布式数据库中间件控制台创建所需的用户账号。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,单击目标实例名称,进入实例基本信息页面。 在左侧导航栏选择“账号管理”,进入账号管理页面。
DDM支持不同AZ不同flavor的售罄。 DDM支持自定义实例参数。 DDM支持删除RDS for MySQL实例时不删除关联RDS for MySQL实例上的数据。 2018-06-05 第七次正式发布,本次修改包括: DDM支持RDS for MySQL实例主备切换。 DDM支持查询系统库information_schema。
目标DDM无法感知逻辑表信息所在位置,所以需要在目标DDM主动下发“表数据重载”,重新加载信息,跟分片建立联系。 操作步骤 登录分布式数据库中间件控制台。 在“实例管理”页面,选择目标实例。 在操作栏,选择“更多 > 表数据重载”。 父主题: 实例管理
虚拟私有云,以及安全组的出方向规则和入方向规则。 说明: 创建DDM实例选择的虚拟私有云要与RDS for MySQL实例保持一致。 DDM实例必须与应用程序、RDS for MySQL实例处于相同的VPC,以保证网络连通。 目前DDM实例创建后不支持切换虚拟私有云,请谨慎选择。
数据节点管理相关操作(以RDS为例) 同步数据节点 ddm:rds:synchro 同步数据节点操作依赖以下权限,即要配置同步数据节点权限,必须配置以下依赖的权限,否则同步数据节点失败。 rds:instance:list rds:instance:modify rds:instance:modifyParameter
迁移介绍 迁移评估 场景一:数据中心自建MySQL迁移到DDM 场景二:其他云MySQL迁移到DDM 场景三:华为云上自建MySQL迁移到DDM 场景四:从DDM实例导出数据 场景五:其他异构数据库迁移到DDM 场景六:从华为云RDS for MySQL迁移到DDM
DDM如何进行分片 在分布式数据库中,可以通过分片存储方式,轻松解决大数据量单表容量达到单机数据库存储上限的瓶颈,因此创建逻辑库和逻辑表时,需要根据实际情况确定逻辑表是否进行分片以及逻辑表的分片规则。 分片存储后,需要尽量避免跨库JOIN操作带来的性能与资源消耗问题。 逻辑表是否分片
tables information_schema.columns 索引查询:SHOW KEYS FROM <table> FROM <database> 说明: 仅支持=、in、like三种操作符,和and条件关联。 不支持子查询、关联查询、排序、聚合查询、LIMIT等等复杂查询。
MM按月份哈希 适用场景 MM适用于按月份数进行分表,分表的表名就是月份数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的月份数进行取余运算并得到分表下标。 例如:
每个实例最多支持10个标签配额。 添加标签 登录分布式数据库中间件控制台。 在“实例管理”页面,选择指定的实例,单击实例名称,进入实例的“基本信息”页签。 在左侧导航栏选择“标签”,单击“添加标签”。 在弹出框中,输入标签的键和值,然后单击“确定”。 图1 设置标签 标签的键值需要满足如下规则: 表1
--mysql-user=<user> --mysql-password=<password> --mysql-table-engine=innodb --rand-init=on --mysql-host=<host> --mysql-port=5066 --mysql-db=<db-name>
复制参数模板 您可以复制您创建的自定义数据库参数模板。当您已创建一个数据库参数模板,并且想在新的数据库参数模板中包含该组中的大部分自定义参数和值时,复制参数模板是一个方便的解决方案。 复制数据库参数模板之后,新参数模板可能不会立即显示,建议您等待5分钟再使用。 您无法复制默认参数
SHOW RULE 命令格式: 查看数据库下每一个逻辑表的拆分情况。 show rule 查看数据库下指定逻辑表的拆分情况。 show rule from <table_name> 输出详解: TABLE_NAME :表名。 BROADCAST:是否为广播表(0:否,1:是)。
命令输出详解: IP:RDS的IP地址。 Port:RDS的端口号。 Instance_id:RDS的实例ID。 Type:master指的是读写RDS,readreplica指的是只读RDS。 后面的列是对应的RDS的processlist信息,与在RDS直接执行show processlist获取的信息一致。
DBS.300356 无法连接到RDS,检查RDS连通性和安全组规则是否正确。 查看RDS状态是否正常。 400 DBS.300357 RDS用户名或密码错误。 RDS账号不存在,进到“服务列表”中的“云数据库RDS”,找到对应RDS实例单击实例名称,在RDS 实例详情中查看“管理员账户名”。
实用SQL语句 CHECK TABLE SHOW RULE SHOW TOPOLOGY SHOW DATA NODE TRUNCATE TABLE HINT- ALLOW_ALTER_RERUN LOAD DATA SHOW PHYSICAL PROCESSLIST 自定义HINT读写分离
SQL高级功能 暂不支持Prepare\EXECUTE语法。 暂不支持用户自定义数据类型、自定义函数。 暂不支持视图、存储过程、触发器、游标。 暂不支持BEGIN…END、LOOP…END LOOP、REPEAT…UNTIL…END REPEAT、WHILE…DO…END WHILE等复合语句。