系统表

实例初始化后会带有若干系统库,存放元数据、兼容层信息与内部运行数据。系统对象默认只读;不要在业务中依赖未文档化的内部表结构做写入。

系统库一览

库名

用途(产品向)

mo_catalog

MatrixOne 元数据:库、表、列、索引、用户、角色、授权关系等

information_schema

信息架构视图,兼容常见「查表结构 / 查权限」路径

mysql

MySQL 兼容层相关系统表(子集)

system

运行与日志类系统数据

system_metrics

指标类系统数据

部分旧文稿将指标库写作拼写变体;以实例中 SHOW DATABASES 实际库名为准,常见为 system_metrics

mo_catalog 常用表(要点)

不必记住每一列,按任务查即可:

表(名称)

你能查到什么

mo_database

库列表、创建信息、是否订阅库等

表/列元数据表

表、列定义(具体表名以实例为准,如 mo_tables / mo_columns 一类)

mo_indexes

索引 ID、类型(主键/唯一/次级)、算法与列组成

mo_table_partitions

分区定义;RANGE/LIST 等可能未支持,见使用限制

mo_user

用户名、状态、创建时间、默认角色等

mo_role

角色

mo_user_grant

用户被授予的角色

mo_role_grant

角色继承

mo_role_privs

角色上的权限明细

用户定义函数相关表

自定义函数元数据

-- 示例:查看当前可见的库元数据(需相应权限)
SELECT datname, dat_type, created_time
FROM mo_catalog.mo_database
LIMIT 20;

information_schemamysql

  • 习惯用 information_schema.tables / columns / schemata 等做工具兼容时,优先走这一层。

  • 兼容程度是子集:有的 MySQL 系统表或列不存在或恒为空,不要假设 100% 与 MySQL 8.0 相同。

使用注意

  1. 只读:对系统库做 DML/DDL 通常被拒绝或导致不可预期行为。

  2. 权限:普通业务角色可能看不到全部系统表;管理员角色可见范围更大。

  3. 版本差异:内部表列会随版本演进;自动化脚本应容忍新增列,避免 SELECT * 强依赖列序。

  4. 清理:日志类清理可能提供专用函数(如 PURGE_LOG),不要手改底层文件或表。

相关页面