数据目录和系统数据库
数据目录的组成
sql
# 查看mysql的数据目录(不是安装目录,安装目录包含bin文件夹)
SHOW VARIABLES LIKE 'datadir';
MySQL的数据目录下存在与
创建的数据库同名
的文件夹,文件夹内会存在表名.frm
和表名.ibd
两种类型的文件。其中
表名.frm
是表结构的描述文件,表名.ibd
存放的是表的数据(MySQL5.6.6以前的版本中所有的表记录都存放到名为ibdata1的文件中(系统表空间),之后的版本中每个表都对应着一个表名.ibd
的文件(独立表空间)。除此之外,数据目录下还存在MySQL服务进程文件、日志文件、SSL和RSA密钥文件等。
MySQL系统数据库
mysql
它存储了MySQL的用户账户和权限信息,一些存储过程、事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息等。
information_schema
这个数据库保存着MySQL服务器维护的所有其他数据库的信息,比如有哪些表、哪些视图、哪些触发器、哪些列、哪些索引。这些信息并不是真实的用户数据,而是一些描述性信息,有时候也称之为元数据。
performance_schema
:这个数据库里主要保存MySQL服务器运行过程中的一些状态信息,算是对MySQL服务器的一个性能监控。包括统计最近执行了哪些语句,在执行过程的每个阶段都花费了多长时间,内存的使用情况等等信息。
sys
这个数据库主要是通过视图的形式把
information_schema
和performance_schema
结合起来,让程序员可以更方便的了解MySQL服务器的一些性能信息。