Skip to content

系统数据库和表

information_schema

information_schema 数据库是 MySQL 的一个特殊数据库,它提供了关于其他所有数据库的信息,包括数据库名、表名、列的数据类型与访问权限等。它不是一个普通的数据库,而是一个信息数据库,包含了所有其他数据库的信息。information_schema 使得用户能够查询数据库的元数据(metadata),即关于数据的数据。

例如,你可以使用 information_schema 来查询数据库中所有表的信息,或者查询某个特定表的所有列的信息。这对于数据库管理员和开发者来说非常有用,因为它允许他们编写动态 SQL 查询,这些查询可以适应数据库结构的变化。

information_schema 提供了关于 MySQL 服务器中所有其他数据库的元数据,包括数据库名、表名、列信息等。

performance_schema

performance_schema 是 MySQL 5.5 引入的一个功能,用于监控 MySQL 服务器性能。它提供了对服务器执行时发生的内部事件的访问,允许你监控服务器性能并诊断问题。performance_schema 提供了详细的运行时信息,包括等待事件、锁、文件 I/O、表 I/O 等。

information_schema 不同,performance_schema 主要关注于性能监控和诊断。它允许你收集关于服务器操作的详细数据,这些数据可以用于性能调优和故障排除。然而,由于 performance_schema 可能会增加额外的性能开销,因此默认情况下它可能不是完全启用的,或者其收集的数据量可能受到限制。

performance_schema 提供了关于 MySQL 服务器性能的详细信息,包括等待事件、锁、文件 I/O 等,主要用于性能监控和诊断。

sys

注意:存在于MySQL 5.7及更高版本中

sys 数据库是一个高级别的性能监控和诊断数据库,它基于 performance_schemainformation_schema 提供的信息,封装了更易于理解和使用的视图、函数和过程。这个数据库旨在帮助数据库管理员和开发者更容易地监控和优化 MySQL 服务器的性能。

test

注意:在某些安装中可能不存在

这是一个空的测试数据库,用于允许用户在没有影响其他数据库的情况下测试 SQL 语句。不过,请注意,在某些 MySQL 安装中,这个数据库可能不存在或默认被删除。

mysql

这是 MySQL 中最重要的系统数据库之一,它包含了所有其他数据库的用户权限信息。这个数据库中存储了用户账户、权限、密码等信息。通过修改这个数据库中的表,你可以管理 MySQL 服务器的访问权限。