课程名称:2.5.2 TiDB 4.0 System Tables(TiDB 的系统表)
学习时长:20min
课程收获:
TiDB 中的系统表,包括默认 Schema 与 MySQL 的差异、与 MySQL 兼容的系统表、以及常用系统表的作用和字段含义,掌握这些系统表能帮我们更好地使用和维护 TiDB,提升性能分析以及故障处理地效率。
课程内容:
-
默认Schemas差异对比(TiDB & MySQL 5.7)
-
mysql Schema
mysql
库里存储的是 TiDB 系统表。该设计类似于 MySQL 中的mysql
库,其中mysql.user
之类的表可以直接编辑。该库还包含许多 MySQL 的扩展表。
-
权限系统表
这些系统表里面包含了用户账户以及相应的授权信息:-
user
用户账户,全局权限,以及其它一些非权限的列 -
db
数据库级别的权限 -
tables_priv
表级的权限 -
columns_priv
列级的权限
-
-
服务端帮助信息系统表
-
help_topic
目前为空
-
-
统计信息相关系统表
-
stats_buckets
统计信息的桶 -
stats_histograms
统计信息的直方图 -
stats_meta
表的元信息,比如总行数和修改数
-
-
GC Worker 相关系统表
gc_delete_range
-
其它系统表
-
GLOBAL_VARIABLES
全局系统变量表 -
tidb
用于 TiDB 在 bootstrap 的时候记录相关版本信息
-
- Information Schema
Information Schema 提供了一种查看系统元数据的 ANSI 标准方法。除了包含与 MySQL 兼容的表外,TiDB 还提供了许多自定义的INFORMATION_SCHEMA
表。
许多 INFORMATION_SCHEMA
表都有相应的 SHOW
命令。查询 INFORMATION_SCHEMA
的好处是可以在表之间进行 join
操作。
- 与 MySQL 兼容的表
表名 | 描述 |
---|---|
CHARACTER_SETS |
提供 TiDB 支持的字符集列表。 |
COLLATIONS |
提供 TiDB 支持的排序规则列表。 |
COLLATION_CHARACTER_SET_APPLICABILITY |
说明哪些排序规则适用于哪些字符集。 |
COLUMNS |
提供所有表中列的列表。 |
COLUMN_PRIVILEGES |
TiDB 未实现,返回零行。 |
COLUMN_STATISTICS |
TiDB 未实现,返回零行。 |
ENGINES |
提供支持的存储引擎列表。 |
EVENTS |
TiDB 未实现,返回零行。 |
FILES |
TiDB 未实现,返回零行。 |
GLOBAL_STATUS |
TiDB 未实现,返回零行。 |
GLOBAL_VARIABLES |
TiDB 未实现,返回零行。 |
KEY_COLUMN_USAGE |
描述列的键约束,例如主键约束。 |
OPTIMIZER_TRACE |
TiDB 未实现,返回零行。 |
PARAMETERS |
TiDB 未实现,返回零行。 |
PARTITIONS |
提供表分区的列表。 |
PLUGINS |
TiDB 未实现,返回零行。 |
PROCESSLIST |
提供与 SHOW PROCESSLIST 命令类似的信息。 |
PROFILING |
TiDB 未实现,返回零行。 |
REFERENTIAL_CONSTRAINTS |
TiDB 未实现,返回零行。 |
ROUTINES |
TiDB 未实现,返回零行。 |
SCHEMATA |
提供与 SHOW DATABASES 命令类似的信息。 |
SCHEMA_PRIVILEGES |
TiDB 未实现,返回零行。 |
SESSION_STATUS |
TiDB 未实现,返回零行。 |
SESSION_VARIABLES |
提供与 SHOW SESSION VARIABLES 命令类似的功能。 |
STATISTICS |
提供有关表索引的信息。 |
TABLES |
提供当前用户可见的表的列表。 类似于 SHOW TABLES 。 |
TABLESPACES |
TiDB 未实现,返回零行。 |
TABLE_CONSTRAINTS |
提供有关主键、唯一索引和外键的信息。 |
TABLE_PRIVILEGES |
TiDB 未实现,返回零行。 |
TRIGGERS |
TiDB 未实现,返回零行。 |
USER_PRIVILEGES |
汇总与当前用户相关的权限。 |
VIEWS |
提供当前用户可见的视图列表。类似于 SHOW FULL TABLES WHERE table_type = 'VIEW' 。 |
- TiDB 中的扩展表
表名 | 描述 |
---|---|
ANALYZE_STATUS |
提供有关收集统计信息的任务的信息。 |
CLUSTER_CONFIG |
提供有关整个 TiDB 集群的配置设置的详细信息。 |
CLUSTER_HARDWARE |
提供在每个 TiDB 组件上发现的底层物理硬件的详细信息。 |
CLUSTER_INFO |
提供当前集群拓扑的详细信息。 |
CLUSTER_LOAD |
提供集群中 TiDB 服务器的当前负载信息。 |
CLUSTER_LOG |
提供整个 TiDB 集群的日志。 |
CLUSTER_PROCESSLIST |
提供 PROCESSLIST 表的集群级别的视图。 |
CLUSTER_SLOW_QUERY |
提供 SLOW_QUERY 表的集群级别的视图。 |
CLUSTER_STATEMENTS_SUMMARY |
提供 STATEMENTS_SUMMARY 表的集群级别的视图。 |
CLUSTER_STATEMENTS_SUMMARY_HISTORY |
提供 CLUSTER_STATEMENTS_SUMMARY_HISTORY 表的集群级别的视图。 |
CLUSTER_SYSTEMINFO |
提供集群中服务器的内核参数配置的详细信息。 |
DDL_JOBS |
提供与 ADMIN SHOW DDL JOBS 类似的输出。 |
INSPECTION_RESULT |
触发内部诊断检查。 |
INSPECTION_RULES |
进行的内部诊断检查的列表。 |
INSPECTION_SUMMARY |
重要监视指标的摘要报告。 |
METRICS_SUMMARY |
从 Prometheus 获取的指标的摘要。 |
METRICS_SUMMARY_BY_LABEL |
参见 METRICS_SUMMARY 表。 |
METRICS_TABLES |
为 METRICS_SCHEMA 中的表提供 PromQL 定义。 |
SEQUENCES |
描述了基于 MariaDB 实现的 TiDB 序列。 |
SLOW_QUERY |
提供当前 TiDB 服务器上慢查询的信息。 |
STATEMENTS_SUMMARY |
类似于 MySQL 中的 performance_schema 语句摘要。 |
STATEMENTS_SUMMARY_HISTORY |
类似于 MySQL 中的 performance_schema 语句摘要历史。 |
TABLE_STORAGE_STATS |
提供存储的表的大小的详细信息。 |
TIDB_HOT_REGIONS |
提供有关哪些 Region 访问次数最多的统计信息。 |
TIDB_INDEXES |
提供有关 TiDB 表的索引信息。 |
TIDB_SERVERS_INFO |
提供 TiDB 服务器的列表 |
TIFLASH_REPLICA |
提供有关 TiFlash 副本的详细信息。 |
TIKV_REGION_PEERS |
提供 Region 存储位置的详细信息。 |
TIKV_REGION_STATUS |
提供 Region 的统计信息。 |
TIKV_STORE_STATUS |
提供 TiKV 服务器的基本信息。 |
- SQL 诊断系统(SQL Diagnostic Tables)
表名 | 描述 |
---|---|
CLUSTER_CONFIG | 提供有关整个 TiDB 集群的配置设置的详细信息。 |
CLUSTER_HARDWARE | 提供在每个 TiDB 组件上发现的底层物理硬件的详细信息。 |
CLUSTER_INFO | 提供当前集群拓扑的详细信息。 |
CLUSTER_LOAD | 提供集群中 TiDB 服务器的当前负载信息。 |
CLUSTER_LOG | 提供整个 TiDB 集群的日志。 |
CLUSTER_SYSTEMINFO |
提供集群中服务器的内核参数配置的详细信息。 |
METRICS_SCHEMA
是基于 Prometheus 中 TiDB 监控指标的一组视图。每个表的 PromQL(Prometheus 查询语言)的源均可在 INFORMATION_SCHEMA.METRICS_TABLES
表中找到。
表名 | 描述 |
---|---|
INSPECTION_RESULT | 触发内部诊断检查。 |
— | — |
INSPECTION_RULES | 进行的内部诊断检查的列表。 |
INSPECTION_SUMMARY | 重要监视指标的摘要报告。 |
METRICS_SUMMARY | 从 Prometheus 获取的指标的摘要。 |
METRICS_SUMMARY_BY_LABEL | 参见 METRICS_SUMMARY 表。 |
METRICS_TABLES | 为 METRICS_SCHEMA 中的表提供 PromQL 定义。 |