MYSQL中的INFORMATION_SCHEMA数据库简介

INFORMATION_SCHEMA 是 MySQL存放元数据的一个数据库,它里面有很多只读的表(实际上是视图,因此没有对应的文件),这个库里的表和 很多和SHOW 语句是对应的,比如show databases, show tables等。

常见的表如下:

  • character_sets,展示可用的字符集,对应 SHOW CHARACTER SET
  • COLLATIONS ,展示字符集对应的 COLLATIONS ,对应 SHOW COLLATION
  • COLUMNS,展示表的列的信息,对应 SHOW COLUMNS FROM xxx
  • COLUMN_PRIVILEGES,展示列的权限信息,数据来源于 mysql.columns_priv
  • ENGINES,展示支持的Storage engine,对应 SHOW ENGINES
  • FILES,展示表空间数据对应的文件信息。
  • GLOBAL_VARIABLES 和 SESSION_VARIABLES,展示全局变量和Session变量,目前已被抛弃,可以使用 PERFORMANCE_SCHEMA 这个库里的同名表代替,对应 SHOW GLOBAL VARIABLES 和 SHOW SESSION VARIABLES.
  • KEY_COLUMN_USAGE,展示哪个 key 列上有约束。
  • PLUGINS ,展示插件,对应 SHOW PLUGINS;
  • PROCESSLIST ,展示连接的线程信息,对应 SHOW FULL PROCESSLIST
  • REFERENTIAL_CONSTRAINTS ,展示外键信息。
  • ROUTINES ,展示 stored routines,包括存储过程和函数(系统自带的除外)
  • SCHEMATA ,展示数据库信息,对应 SHOW DATABASES
  • SCHEMA_PRIVILEGES,展示数据库权限,数据来源于 mysql.db , 对应  show grants ..
  • STATISTICS ,展示索引的统计信息。
  • TABLES ,展示表的信息,对应 SHOW FULL TABLES FROM xxx
  • TABLE_PRIVILEGES ,展示表相关的权限,对应 show grants ..
  • USER_PRIVILEGES,展示global privileges. 数据来源于 mysql.user,对应 show grants ..

...

另外还且些innodb专有的表,详情参考:
https://dev.mysql.com/doc/refman/5.7/en/information-schema.html


版权声明:本文为qingsong3333原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。