目录
mysql%E7%B3%BB%E7%BB%9F%E5%BA%93-toc" name="tableOfContents" style="margin-left:0px">mysql系统库
介绍
数据字典
介绍
不同版本下的存储方式
常见的数据字典表
访问权限
系统表
介绍
权限授予系统表
对象信息系统表
服务器端帮助系统表
时区系统表
mysql%E7%B3%BB%E7%BB%9F%E5%BA%93" name="mysql%E7%B3%BB%E7%BB%9F%E5%BA%93" style="background-color:transparent">mysql系统库
介绍
MySQL 默认创建 的特殊数据库,主要用于存储服务器运行时所需的信息
在innodb存储引擎下,这些数据保存在数据字典和系统表中
- 这两种存储结构保存在数据目录下的mysql.ibd表空间文件中:
数据字典
介绍
是数据库 存储所有数据库对象的元数据(存储数据库对象自身的信息)
内容不可以随意修改,否则可能会造成服务器无法正常运行
- 因为这些信息已经在表中被定义成为规范,一旦修改就无效了
不同版本下的存储方式
常见的数据字典表
在 MySQL 8.0 中,数据字典存储在 mysql系统库 的 InnoDB 表 中
- innodb表 -- 使用 InnoDB 存储引擎 创建和管理的 MySQL 数据表
核心表如下:
访问权限
只有在调试版本中可被访问,在发行版本中无权访问
但是可以通过INFOMATION_SCHEMA视图来查看部分数据字典的内容:
系统表
介绍
系统表按功能大致可以分为:权限授予系统表、对象信息系统表、日志系统表、服务器端帮 助系统表、时区系统表、复制系统表、优化器系统表、杂项系统表
权限授予系统表
包含有关用户账户及账户拥有的权限授权信息,主要的表有:
- user:用户账户、全局权限和其他列
- global_grants:为用户分配的动态全局权限
- db:数据库级权限
- tables_priv:表级权限
- columns_priv:列级权限
- procs_priv:存储过程和函数权限
- proxies_priv:代理用户权限
- default_roles:列出了用户连接和认证后要激活的默认角色
- role_edges:user 表的关联表,区分 user 表中某一行记录是账户还是角色
- password_history:密码更改的信息
对象信息系统表
包含有关组件、可加载的服务器插件和函数的信息:
- component:使用 INSTALL COMPONENT 安装的服务器组件,表中列出了在服务器启动期间安装的组件
- func:使用 CREATE FUNCTION 安装的可加载函数,表中列出了在服务器启动期间加载的函数
- plugin:使用 INSTALL PLUGIN 安装的服务器插件,表中列出了在服务器启动期间安装的插件
日志系统表
服务器使用日志系统表进行日志记录:
- general_log:一般查询日志表
- slow_log:慢查询日志表
日志表使用 CSV 存储引擎
服务器端帮助系统表
包含服务器端帮助信息:
- help_category:有关帮助类别的信息
- help_keyword:与帮助主题关联的关键字
- help_relation:帮助关键字和主题之间的映射
- help_topic:帮助主题内容
时区系统表
包含时区信息:
- time_zone:时区 ID 以及是否使用闰秒
- time_zone_leap_second:发生闰秒时如何修正
- time_zone_name:时区 ID 和名称之间的映射