请简要简述MySQL的四大系统数据库及其作用?

MySQL自带四个数据库,分别如下:

mysql库。
这是MySQL的主数据库,存储用户、权限等信息

information_schema。
存储表和锁等性能信息。
元数据是关于数据的数据,例如数据库名称、表名称、访问权限、库表的数据类型、库索引信息等。

sys.metadata该库数据来自Performance_schema。
目标是降低performance_schema的复杂度,以便DBA能够更好的读取这个库的内容,让DBA更快的了解DB的运行状态。

性能架构。
该库主要收集数据库服务器性能参数,用于监控下层进程中服务器的资源消耗、资源等待等情况。

mysql中存储用户全局权限的表是

用户。
因为用户表的设计保证了安全性,只有有权限的用户才能修改表中的数据。
在MySQL中,存储全局用户权限的表被称为MySQL系统中的核心表之一,记录了所有用户及其所拥有的权限的信息。
所以MySQL中存储全局用户权限的表称为“user”。

mysql的文件结构和默认数据库

安装数据库后,运行showdatabases;您可以看到有四个默认数据库。
MySQL是系统自带的主数据库,存储了用户账号和权限、一些存储过程、事件定义信息、执行过程中产生的信息、帮助信息、时区信息等。
information_schema维护来自其他数据库(表、视图、触发器等)的信息,这是描述性信息(元数据)。
该库中以“innodb_sys”开头表示描述了内部系统表。
Performance_schema记录了MySQL执行过程中的状态信息,可以用来分析各种性能指标。
sys主要以视图的形式存储information_schema和information_schema中的数据。
注意:当两个数据库版本都使用默认的innodb引擎安装位置时,通过cd/var/lib/mysql进入mysql目录并查看内容。
创建test1数据库并在两个发布环境中添加db_test1表。
具体操作如下。
再次查看两个目录下的文件,会发现多了一个test1文件夹。
分别进入两个环境中的test1文件夹并显示内容。
首先请注意,5.7.28版本中有db.opt三个文件,用于存储字符集信息和排序信息。
无论数据库中创建多少个表,都只存在一份文件副本。
TableName.frm文件用于存储数据的表结构。
数据和索引存储在name.ibd表中。
需要注意的是,只有在mysql5.6.6及以后的版本中,才会为每个数据库创建独立的表空间(.ibd文件)。
在此之前它存储在系统表空间中。
在8.0.25版本中,在数据表对应的目录下生成单个文件。
我们可以通过以下命令解析该文件。
只需在当前数据库目录中运行ibd2sdi--dump-file=test1.txttb_test1.ibd即可。
该语句只能在MySQL8中使用,使用test1.txt表示输出文件名,可以自行更改。
tb_test1.ibd是我们要分析的文件名。
使用vim打开解析后的文件。
可以看到里面存储的是表结构信息。
使用myisam存储引擎在两个数据库中创建表并使用myisam引擎。
和之前一样进入对应的目录。
在mysql5.7.288中,.frm文件始终存储表结构。
在8.0.25版本中,表结构信息存储在sdi文件中。
myd文件存储数据信息,myi文件存储索引信息。