元数据 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 rollback | RUL |
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_type | DDL类型 |
job_item_count | 任务内序号 |
active | 任务是否活跃 true 或 false |
create_time | DDL 开始的执行时间 |
stop_time | DDL 执行结束时间 |
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_percentage | DDL运行完成百分比 |
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';