系统表¶
实例初始化后会带有若干系统库,存放元数据、兼容层信息与内部运行数据。系统对象默认只读;不要在业务中依赖未文档化的内部表结构做写入。
系统库一览¶
库名 |
用途(产品向) |
|---|---|
|
MatrixOne 元数据:库、表、列、索引、用户、角色、授权关系等 |
|
信息架构视图,兼容常见「查表结构 / 查权限」路径 |
|
MySQL 兼容层相关系统表(子集) |
|
运行与日志类系统数据 |
|
指标类系统数据 |
部分旧文稿将指标库写作拼写变体;以实例中
SHOW DATABASES实际库名为准,常见为system_metrics。
mo_catalog 常用表(要点)¶
不必记住每一列,按任务查即可:
表(名称) |
你能查到什么 |
|---|---|
|
库列表、创建信息、是否订阅库等 |
表/列元数据表 |
表、列定义(具体表名以实例为准,如 |
|
索引 ID、类型(主键/唯一/次级)、算法与列组成 |
|
分区定义;RANGE/LIST 等可能未支持,见使用限制 |
|
用户名、状态、创建时间、默认角色等 |
|
角色 |
|
用户被授予的角色 |
|
角色继承 |
|
角色上的权限明细 |
用户定义函数相关表 |
自定义函数元数据 |
-- 示例:查看当前可见的库元数据(需相应权限)
SELECT datname, dat_type, created_time
FROM mo_catalog.mo_database
LIMIT 20;
information_schema 与 mysql¶
习惯用
information_schema.tables/columns/schemata等做工具兼容时,优先走这一层。兼容程度是子集:有的 MySQL 系统表或列不存在或恒为空,不要假设 100% 与 MySQL 8.0 相同。
使用注意¶
只读:对系统库做 DML/DDL 通常被拒绝或导致不可预期行为。
权限:普通业务角色可能看不到全部系统表;管理员角色可见范围更大。
版本差异:内部表列会随版本演进;自动化脚本应容忍新增列,避免
SELECT *强依赖列序。清理:日志类清理可能提供专用函数(如
PURGE_LOG),不要手改底层文件或表。