MySQL 默认自带4个数据库,分别是information_schema
、mysql
、performance_schema
和sys
,这些数据库在 MySQL 安装后自动创建,用于存储系统信息、性能监控数据以及管理控制信息。
information_schema
information_schema
是一个虚拟数据库,主要用于保存关于所有其他数据库的元数据,它包含了关于数据库名、表、列的数据类型、权限等信息,通过查询information_schema
中的表,可以获取数据库对象的详细信息。
TABLES:提供关于数据库中表的信息,包括表所属的模式、表类型、表引擎等。
COLUMNS:提供表中列的信息,包括列名、数据类型、字符集等。
STATISTICS:提供表索引的信息。
USER_PRIVILEGES:提供用户权限信息。
SCHEMA_PRIVILEGES:提供方案(数据库)权限信息。
TABLE_CONSTRAINTS:描述存在约束的表及其约束类型。
mysql
mysql
数据库是 MySQL 的核心数据库,类似于 SQL Server 中的 master 表,它主要负责存储数据库的用户、权限设置、关键字等信息,常见的操作如修改 root 用户的密码就是在mysql.user
表中进行的。
performance_schema
performance_schema
用于收集数据库服务器的性能参数,它提供了关于进程等待的详细信息,包括锁、互斥变量、文件信息等,它还保存了历史的事件汇总信息,有助于对 MySQL 服务器性能做出详细的判断。
sys
sys
库是从 MySQL 5.7 版本开始引入的,旨在简化performance_schema
的使用,它包含了一组视图、存储过程和函数,帮助 DBA 更便捷地管理和维护 MySQL 服务器。sys
库的所有数据源都来自performance_schema
,目的是降低其复杂度,让 DBA 能够更快地了解数据库的运行情况。
相关问答
Q1: MySQL 默认自带的四个数据库分别是什么?
A1: MySQL 默认自带的四个数据库是information_schema
、mysql
、performance_schema
和sys
。
Q2:information_schema
数据库有什么作用?
A2:information_schema
是一个虚拟数据库,用于保存关于所有其他数据库的元数据,它包含了关于数据库名、表、列的数据类型、权限等信息,通过查询information_schema
中的表,可以获取数据库对象的详细信息。