Logo
元数据

元数据 Metadata #

语法描述类型
SHOW TABLE METADATA tableName [, tableName] …查询表的元数据RQL
REFRESH TABLE METADATA刷新表的元数据RUL
REFRESH DATABASE METADATA schemaName FROM GOVERNANCE CENTER刷新z指定逻辑库的元数据RUL
IMPORT DATABASE CONFIGURATION将 YAML 中的配置导入到 database 中,仅支持对空库进行导入操作RUL
EXPORT DATABASE CONFIGURATION将 database 中的数据源和规则配置导出为 YAML 格式RUL
START DDL {jobId}启动/重试ddl任务RUL
SHOW DDL LIST查看进行中的ddl任务RUL
SHOW DDL STATUS {jobId}查看ddl任务状态RQL
COMMIT DDL {jobId}完成ddl任务,直接完成并清理任务,不管JOB是否真正执行完成RUL
ROLLBACK DDL {jobId}回滚 DDL 到执行前的状态,不能回滚的任务执行 rollback 时会提示 This DDL job does not support rollbackRUL

1. 查询表的元数据 #

SHOW TABLE METADATA tableName [, tableName] 

参数说明

示例

SHOW TABLE METADATA t_order;

2. 刷新表的元数据 #

REFRESH TABLE METADATA

示例

刷新所有表的元数据

REFRESH TABLE METADATA

刷新指定表的元数据

REFRESH TABLE METADATA t_order

刷新指定数据源中表的元数据

REFRESH TABLE METADATA t_order FROM STORAGE UNIT ds_1

刷新指定 schema 中表的元数据,如果 schema中不存在表,则会删除该 schema

REFRESH TABLE METADATA FROM STORAGE UNIT ds_1 SCHEMA db_schema

3. 刷新指定逻辑库的元数据 #

REFRESH DATABASE METADATA schemaName FROM GOVERNANCE CENTER

示例

REFRESH DATABASE METADATA sharding_db FROM GOVERNANCE CENTER;

4. 将 YAML 中的配置导入到 database 中,仅支持对空库进行导入操作 #

IMPORT DATABASE CONFIGURATION

示例

IMPORT DATABASE CONFIGURATION FROM FILE "/xx x/config‑sharding.yaml";

5. 将 database 中的数据源和规则配置导出为 YAML 格式 #

EXPORT DATABASE CONFIGURATION

示例

EXPORT DATABASE CONFIGURATION TO FILE "/xxx/config‑sharding.yaml";

6. 启动/重试ddl任务 #

START DDL  {jobId} 

示例

START DDL  'j5601839ceed1d09d73d9d1f7e7f77de75228' ;

7. 查看ddl任务 #

SHOW DDL  {jobId} 

示例

mysql> show ddl list;
+---------------------------------------+---------+--------------+----------------+--------+---------------------+---------------------+
| id                                    | tables  | ddl_type     | job_item_count | active | create_time         | stop_time           |
+---------------------------------------+---------+--------------+----------------+--------+---------------------+---------------------+
| j5601839ceed1d09d73d9d1f7e7f77de75228 | t_order | ALTER_TABLE  | 1              | false  | 2023-02-19 16:27:00 | 2023-02-19 16:28:00 |
+---------+--------------+-----------+--------+-------------------------+-------------------------+---------------+
1 row in set (0.06 sec)

输出说明

列名说明
id任务id
tables执行DDL的表名
ddl_typeDDL类型
job_item_count任务内序号
active任务是否活跃 true 或 false
create_timeDDL 开始的执行时间
stop_timeDDL 执行结束时间

8. 查看指定任务 #

SHOW DDL STATUS {jobId}

示例

mysql> show ddl status;
+---------+--------------+-----------+--------+-------------------------+-------------------------+---------------+
|  item   | data_source  |  status   | active | processed_records_count | ddl_finished_percentage | error_message |
+---------+--------------+-----------+--------+-------------------------+-------------------------+---------------+
|   1     |    ds_0      |  RUNNING  |  true  |         1               |          100            |               |
+---------+--------------+-----------+--------+-------------------------+-------------------------+---------------+
1 row in set (0.06 sec)

输出说明

列名说明
item任务内序号
data_source存储单元名称
status任务状态,详细参考状态描述
active任务是否活跃 true 或 false
processed_records_count已经处理记录数
ddl_finished_percentageDDL运行完成百分比
error_message错误信息

状态说明

列名说明
PREPARING准备中
RUNNING运行中
FINISHED已完成(整个流程完成了,新规则已生效)
PREPARING_FAILURE准备阶段失败

9. 提交DDL任务 #

COMMIT DDL {jobId} 

示例

mysql> COMMIT DDL  'j5601839ceed1d09d73d9d1f7e7f77de75228';

10. 回滚DDL任务 #

ROLLBACK DDL {jobId} 

示例

mysql> ROLLBACK DDL  'j5601839ceed1d09d73d9d1f7e7f77de75228';