mysql
数据库是系统数据库
。它包含存储 MySQL 服务器运行时所需信息的表。
数据库中的表mysql
分为以下几类:
本节的其余部分列举了每个类别中的表格,并带有交叉引用以获取更多信息。MyISAM
除非另有说明,否则
系统表使用存储引擎。
不要将数据库中的 MySQL 系统表
mysql
从转换MyISAM
为InnoDB
表。这是不受支持的操作。如果这样做,MySQL 不会重新启动,直到您从备份中恢复旧系统表或通过重新初始化数据目录重新生成它们(请参阅
第 2.10.1 节,“初始化数据目录”)。
这些系统表包含有关存储程序、可加载函数和服务器端插件的信息:
event
: 使用安装的 Event Scheduler 事件注册表CREATE EVENT
。如果服务器以该--skip-grant-tables
选项启动,事件调度程序将被禁用并且表中注册的事件不会运行。请参阅 第 20.4.2 节,“事件调度程序配置”。func
: 使用安装的可加载功能的注册表CREATE FUNCTION
。在正常的启动序列中,服务器加载在该表中注册的函数。如果服务器以该--skip-grant-tables
选项启动,则表中注册的功能不会加载且不可用。请参阅第 5.6.1 节,“安装和卸载可加载函数”。plugin
:使用安装的服务器端插件的注册表INSTALL PLUGIN
。在正常的启动序列中,服务器加载在该表中注册的插件。如果服务器以该--skip-grant-tables
选项启动,则表中注册的插件不会加载并且不可用。请参阅第 5.5.1 节,“安装和卸载插件”。proc
:有关存储过程和函数的信息。请参阅第 20.2 节,“使用存储例程”。
服务器使用这些系统表来支持复制:
ndb_binlog_index
:NDB Cluster 复制的二进制日志信息。请参阅 第 18.7.4 节,“NDB Cluster 复制模式和表”。slave_master_info
,slave_relay_log_info
,slave_worker_info
: 用于存储副本服务器上的复制信息。请参阅 第 17.2.2 节,“中继日志和复制元数据存储库”。这些表使用
InnoDB
MySQL 5.6.6MyISAM
之前的存储引擎。
和系统表用于
持久优化器统计信息innodb_index_stats
。
请参阅
第 14.8.11.1 节,“配置持久优化器统计参数”。
innodb_table_stats
InnoDB
这些表使用InnoDB
存储引擎。
其他系统表不属于上述类别:
firewall_users
,firewall_whitelist
: 如果安装了 MySQL Enterprise Firewall,这些表为防火墙使用的信息提供持久存储。请参阅 第 6.4.5 节,“MySQL 企业防火墙”。servers
:由FEDERATED
存储引擎使用。请参阅 第 15.8.2.2 节,“使用 CREATE SERVER 创建 FEDERATED 表”。