5.3 mysql 系统数据库
mysql
数据库是系统数据库。它包含存储 MySQL 服务器运行时所需信息的 table。
mysql
数据库中的 table 属于以下类别:
本节的其余部分枚举每个类别中的 table,并使用交叉引用获得更多信息。除非另有说明,否则系统 table 使用MyISAM
存储引擎。
Warning
不要将mysql
数据库中的 MySQL 系统 table 从MyISAM
转换为InnoDB
table。这是不受支持的操作。如果这样做,MySQL 将不会重新启动,直到您从备份中还原旧的系统 table 或通过重新初始化数据目录来重新生成它们(请参见第 2.10.1 节“初始化数据目录”)。
补助金系统 table
这些系统 table 包含有关用户帐户及其所拥有特权的授权信息:
user
:用户帐户,全局特权和其他非特权列。
db
:数据库级特权。
tables_priv
:table 级特权。
columns_priv
:列级特权。
procs_priv
:存储过程和函数特权。
proxies_priv
:代理用户权限。
有关授予 table 的结构,内容和用途的更多信息,请参见第 6.2.3 节“授权 table”。
对象信息系统 table
这些系统 table 包含有关存储程序,用户定义函数和服务器端插件的信息:
event
:有关事件计划程序事件的信息。参见第 23.4 节“使用事件计划程序”。服务器将在其启动 Sequences 期间加载此 table 中列出的事件,除非使用--skip-grant-tables选项启动。
func
:关于用户定义函数(UDF)的信息。参见第 28.4 节“向 MySQL 添加函数”。除非使用--skip-grant-tables选项启动,否则服务器将在其启动 Sequences 期间加载此 table 中列出的 UDF。
plugin
:有关服务器端插件的信息。参见第 5.5.1 节“安装和卸载插件”和第 28.2 节“ MySQL 插件 API”。服务器将在其启动 Sequences 期间加载此 table 中列出的插件,除非以--skip-grant-tables选项启动。
plugin
table 在此之前使用 MySQL 5.7.6 的_存储引擎MyISAM
。
proc
:有关存储过程和函数的信息。参见第 23.2 节“使用存储的例程”。
日志系统 table
服务器使用以下系统 table 进行日志记录:
日志 table 使用CSV
存储引擎。
有关更多信息,请参见第 5.4 节“ MySQL 服务器日志”。
服务器端帮助系统 table
这些系统 table 包含服务器端帮助信息:
这些 table 在此之前使用 MySQL 5.7.5 或更高版本的InnoDB
存储引擎。
有关更多信息,请参见第 5.1.14 节“服务器端帮助支持”。
时区系统 table
这些系统 table 包含时区信息:
这些 table 在此之前使用 MySQL 5.7.5 或更高版本的InnoDB
存储引擎。
有关更多信息,请参见第 5.1.13 节“ MySQL 服务器时区支持”。
复制系统 table
服务器使用以下系统 table 来支持复制:
-
gtid_executed
:用于存储 GTID 值的 table。参见mysql.gtid_executed Table。
gtid_executed
table 使用InnoDB
存储引擎。
-
ndb_binlog_index
:NDB 群集复制的二进制日志信息。参见第 21.6.4 节“ NDB 群集复制架构和 table”。
在 NDB 7.5.2 之前,此 table 使用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 节“中继日志和复制应用程序元数据存储库”。
所有这三个 table 都使用InnoDB
存储引擎。
优化器系统 table
这些系统 table 供优化器使用:
-
innodb_index_stats
,innodb_table_stats
:用于InnoDB
持久性优化器统计信息。参见第 14.8.11.1 节“配置持久性优化器统计参数”。 -
server_cost
,engine_cost
:优化器成本模型使用的 table 包含有关查询执行期间发生的操作的成本估算信息。server_cost
包含用于一般服务器操作的优化器成本估算。engine_cost
包含特定于特定存储引擎的操作的估计值。参见第 8.9.5 节“优化程序成本模型”。
这些 table 使用InnoDB
存储引擎。
其他系统 table
其他系统 table 不属于以下类别:
-
audit_log_filter
,audit_log_user
:如果已安装 MySQL Enterprise Audit,这些 table 将提供审计日志过滤器定义和用户帐户的持久存储。参见审核日志 table。 -
firewall_users
,firewall_whitelist
:如果安装了 MySQL 企业防火墙,则这些 table 将为防火墙使用的信息提供持久存储。参见第 6.4.6 节“ MySQL 企业防火墙”。 -
servers
:由FEDERATED
存储引擎使用。参见第 15.8.2.2 节“使用 CREATE SERVER 创建联合 table”。
servers
table 在此之前使用 MySQL 5.7.6 的_存储引擎MyISAM
。