MySQL系统表是数据库管理系统为了存储关于数据库本身的信息而创建的一系列特殊表。这些表通常包含元数据(metadata),如用户账户、权限、数据库结构定义以及其他用于管理和维护数据库的重要信息。
以下是一些在MySQL中常见的系统表或相关概念:
information_schema?数据库:
TABLES
、COLUMNS
、SCHEMATA
、VIEWS
、TRIGGERS
等表分别提供了关于所有数据库中的表、列、模式、视图和触发器的信息。mysql?数据库下的系统表:
mysql.user
:存储了用户的账号、密码哈希及全局级别的权限信息。mysql.db
:记录了每个数据库及其对应用户的访问权限。mysql.tables_priv
:存储针对特定表的权限信息。mysql.columns_priv
:存储针对特定表的列级别权限信息。mysql.procs_priv
:存储存储过程和函数的执行权限。mysql.roles_mapping
(MySQL 8.0+):角色映射关系表。mysql.global_variables
?和?mysql.session_variables
:包含了全局和会话级别的系统变量设置。performance_schema?数据库(MySQL 5.5以后引入):
sys?数据库(MySQL 5.7以后引入):
请注意,直接修改这些系统表的内容需要谨慎,因为它们对数据库系统的正常运行至关重要。通常,管理员通过SQL语句或MySQL管理工具来更新系统表内容以进行用户权限管理或其他配置变更。