动态加载元数据
更新时间 2025-12-22 16:18:19
最近更新时间: 2025-12-22 16:18:19
DRDS支持使用reload命令来动态重新加载元数据,避免数据丢失的同时,无需重启数据库进程或整个集群,可有效降低对在线服务的影响。
注意
仅V5.1.9.6020.2533及以后版本的实例,支持该功能。
背景信息
DBProxy通过ZooKeeper广播机制同步库表、参数、关联MySQL元数据信息,在网络异常或节点高负载、异地容灾场景下,DBProxy内存可能未完全加载元数据。此时,可通过动态加载元数据能力来为DBProxy重新读取并应用其参数配置或元数据,无需重启DBProxy进程,动态更新集群配置或元数据信息,最大限度地减少对在线服务的影响,避免因重启操作导致服务中断。
使用说明
支持动态加载的DRDS 元数据和对应的命令如下:
加载metadata
支持加载schema(库)、table(表)、sequence(序列)、index(切片索引)元数据
命令如下:
reload metadata [where schema=? [and table =?] | where table in ('schema1'.'table1',...)]参数 说明 schema加载指定schema中所有表或指定表的元数据信息,其中 zk function tablerule元数据全量加载,不区分库表。table表名。
使用示例:
加载更新序列(sequence)
注意
为保证序列全局唯一递增,reload后的新序列会增加一段余量,余量 = 2 * max(1000, increment) ,即新序列起始值 = 集群节点序列最大值 + 余量。
命令如下:
reload sequence [where schema=? [and sequence=?] | where sequence in ('schema1'.'sequence',...)]参数 说明 schema库名。
sequence序列名。 使用示例: