参考官方文档:
mysql数据库是系统数据库。 它包含存储MySQL服务器运行时所需的信息的表。
mysql数据库中的表分为以下几类:
--除非另有说明,否则系统表使用MyISAM存储引擎。
Grant System Tables
这些系统表包含有关用户帐户的授权信息以及他们拥有的权限:
user: 用户帐户,全局权限和其他非特权列。
db: 数据库级别权限
tables_priv:表级别权限
columns_priv:字段级别权限
procs_priv:存储过程和函数权限。
proxies_priv:代理用户 权限
system 表的对象信息
这些系统表包含有关存储程序,用户定义函数和服务器端插件的信息:
event:有关事件调度程序事件的信息。 除非以--skip-grant-tables选项开始,否则服务器将在启动顺序中加载此表中列出的事件。
func:关于用户定义函数(UDF)的信息。 除非以--skip-grant-tables选项开始,否则服务器将在启动顺序中加载此表中列出的UDF。
plugin:有关服务器端插件的信息。除非使用--skip-grant-tables选项启动,否则服务器将在启动顺序中加载此表中列出的插件。
plugin 表在MySQL 5.7.6以上版本 使用InnoDB存储引擎,之前是MyISAM。
proc
有关存储过程和功能的信息。
log 系统 表
服务器使用这些系统表进行日志记录:
general_log:一般查询日志表。
slow_log : 慢查询日志表。
日志表使用CSV存储引擎。
服务端 帮助系统表
这些系统表包含服务器端帮助信息:
help_category:有关帮助类别的信息。
help_keyword:与帮助主题相关的关键字。
help_relation:帮助关键字和主题之间的映射。
help_topic:帮助主题内容。
表在MySQL 5.7.5以上版本 使用InnoDB存储引擎,之前是MyISAM。
Time Zone 系统表
这些系统表包含时区信息:
time_zone:时区ID以及是否使用闰秒。
time_zone_leap_second:发生闰秒时。
time_zone_name:时区标识和名称之间的映射。
time_zone_transition,time_zone_transition_type:时区描述。
表在MySQL 5.7.5以上版本 使用InnoDB存储引擎,之前是MyISAM。
复制系统表
服务器使用这些系统表来支持复制:
gtid_executed:用于存储GTID值的表格。
gtid_executed表使用InnoDB存储引擎。
ndb_binlog_index:NDB群集复制的二进制日志信息。
slave_master_info, slave_relay_log_info,slave_worker_info: 用于在从属服务器上存储复制信息。
这些表使用InnoDB存储引擎
优化系统表
这些系统表供优化器使用:
innodb_index_stats, innodb_table_stats:
用于InnoDB持久优化器统计信息。
server_cost,engine_cost:
优化器成本模型使用包含有关查询执行期间发生的操作的成本估算信息的表。 server_cost包含一般服务器操作的优化器成本估算。 engine_cost包含针对特定存储引擎的操作的估计值。
这些表使用InnoDB存储引擎。
杂项系统表
其他系统表不属于上述类别:
audit_log_filter, audit_log_user:
如果安装了MySQL企业审计,这些表提供审计日志过滤器定义和用户帐户的持久存储。
firewall_users, firewall_whitelist:
如果安装了MySQL企业防火墙,这些表为防火墙使用的信息提供持久存储
servers: 由FEDERATED存储引擎使用
servers 表在MySQL 5.7.6以上版本 使用InnoDB存储引擎,之前是MyISAM。