该mysql
数据库是系统数据库。它包含存储MySQL服务器运行时所需信息的表。
mysql
数据库中的 表分为以下几类:
-
Grant System Tables(权限系统表)
-
Object Information System Tables(对象信息系统表)
-
Log System Tables(日志系统表)
-
Replication System Tables(应答系统表)
本节的其余部分列举了每个类别中的表,相互参考以获取更多信息,除非另有说明,否则系统表使用MyISAM存储引擎.
Warning
在mysql database中不要把MYSQL 系统表的存储引擎从MyISAM
转换到 InnoDB。这种操作不支持。如果你这样做了,MYSQL将无法重新启动,直到你从备份中还原以前的系统表或者
通过重新初始化数据目录重新生成它们(see Section 2.10.1, “Initializing the Data Directory”).
权限系统表
这些系统表包含有关用户帐户及其所拥有特权的授权信息:
-
user
:用户帐户,全局特权和其他非特权列。 -
db
:数据库级特权。 -
tables_priv
:表级特权。 -
columns_priv
:列级特权。 -
procs_priv
:存储过程和函数特权。 -
proxies_priv
:代理用户权限。
有关权限表的结构,内容和用途的更多信息,请参见第6.2.3节“权限表”。
对象信息系统表
这些系统表包含有关存储程序,用户定义的函数和服务器端插件的信息:
-
event
:有关事件计划程序事件的信息。请参见第23.4节“使用事件调度程序”。服务器将在其启动顺序期间加载此表中列出的事件,除非使用--skip-grant-tables
选项启动 。 -
func
:有关用户定义函数(UDF)的信息。请参见第28.4节“向MySQL添加函数”。服务器将在其启动顺序期间加载此表中列出的UDF,除非使用--skip-grant-tables
选项启动 。 -
plugin
:有关服务器端插件的信息。请参见第5.5.1节“安装和卸载插件”和 第28.2节“ MySQL插件API”。服务器将在其启动顺序期间加载此表中列出的插件,除非使用--skip-grant-tables
选项启动 。在此之前,该
plugin
表使用的InnoDB
存储引擎自MySQL 5.7.6起MyISAM
。 -
proc
:有关存储过程和功能的信息。请参见第23.2节“使用存储的例程”。
日志系统表
服务器使用以下系统表进行日志记录:
日志表使用CSV
存储引擎。
服务器端帮助系统表
这些系统表包含服务器端帮助信息:
在此之前, 这些表使用InnoDB
MySQL 5.7.5及更高版本的存储引擎MyISAM
。
时区系统表
这些系统表包含时区信息:
在此之前, 这些表使用InnoDB
MySQL 5.7.5及更高版本的存储引擎MyISAM
。
响应系统表
服务器使用以下系统表来支持响应:
-
gtid_executed
:用于存储GTID值的表。参见 mysql.gtid_executed表。该
gtid_executed
表使用InnoDB
存储引擎。 -
ndb_binlog_index
:NDB群集复制的二进制日志信息。请参见 第21.6.4节“ NDB群集复制架构和表”。在NDB 7.5.2之前,此表使用了
MyISAM
存储引擎。在NDB 7.5.2和更高版本中,它使用InnoDB
。如果您计划从以前的NDB群集升级到NDB 7.5.2或更高版本,请参见 第21.2.9节“升级和降级NDB群集”,以获取有关此更改的重要信息。 -
slave_master_info
,slave_relay_log_info
,slave_worker_info
:用来存放从服务器上响应的信息。请参见 第16.2.4节“复制中继和状态日志”。所有这三个表都使用
InnoDB
存储引擎。
优化器系统表
这些系统表供优化器使用:
-
innodb_index_stats
,innodb_table_stats
:用于InnoDB
持久性优化器统计信息。请参见第14.8.11.1节“配置持久性优化器统计参数”。 -
server_cost
,engine_cost
:优化程序成本模型使用的表包含有关查询执行期间发生的操作的成本估算信息。server_cost
包含用于一般服务器操作的优化程序成本估算。engine_cost
包含特定于特定存储引擎的操作的估计。请参见 第8.9.5节“优化器成本模型”。
这些表使用InnoDB
存储引擎。
杂项系统表
其他系统表不属于以下类别:
-
audit_log_filter
,audit_log_user
如果安装了MySQL企业审计,这些表提供的审计日志筛选器定义和用户帐户永久存储。请参阅 审核日志表。 -
firewall_users
,firewall_whitelist
如果安装了MySQL企业级防火墙,这些表格提供了防火墙使用的信息永久存储。请参见 第6.4.6节“ MySQL企业防火墙”。 -
servers
:由FEDERATED
存储引擎使用。请参见 第15.8.2.2节“使用CREATE SERVER创建联合表”。在此之前,该
servers
表使用的InnoDB
存储引擎自MySQL 5.7.6起MyISAM
。