mysql是一种关系型数据库管理系统,是世界上最流行的开源数据库之一。 但是,在mysql中,实际上并不存在名为“mysql”的表。 本文将介绍mysql中的系统数据库和系统表,以及它们的作用。
一、系统数据库
mysql中的系统数据库包括:
mysql:存储关于mysql服务器本身的信息,例如操作员,权限和系统变量。information_schema:提供所有当前数据库和表的元数据信息。 例如,您可以在information_schema中找到有关每个表的列和索引的信息。performance_schema:为 mysql服务器提供性能度量工具。 它包括有关mysql服务器各个方面的性能统计信息,例如正在运行的查询,使用的表和索引等。sys: 将mysql元数据的视图转换为易于使用的查询。sys被设计为提供对dba和开发人员简单,方便的mysql元数据信息的访问。以上这些系统数据库在mysql中可见,你可以通过命令show databases查询到。
二、系统表
在mysql的系统数据库中,存在许多系统表。下面是其中一些系统表以及它们的作用:
用户和权限相关的系统表mysql.user:存储mysql的用户帐户和安全访问级别的信息。 它包括用户的名称,主机地址,密码等。 它是授权管理方面的重要表。
mysql.db:包括用户的数据库权限。它列出了允许访问数据库和表的用户。 (包括特定的主机地址)
mysql.host:它存放了主机名和其对应的返回客户端ip地址的规则
mysql.roles和mysql.role_edges:是mysql8.0中引入的,用来集成角色的
数据库和表相关的系统表information_schema.tables:存储所有表的详细信息。包括数据库名称,表名称,表的类型(例如表,视图或系统表),表引擎,表创建时间等等。
information_schema.columns:列出了有关表的每个列的详细信息,例如列名称,数据类型,是否允许为 null,列的默认值等等。
information_schema.indexes:显示索引信息。 包括索引名称,索引是否为唯一的信息,包含的列,索引类型 等等。
mysql.proc:包含存储过程和函数的信息,例如过程名称,参数,代码等。
mysql.event:包含计划的事件(即定期作业),例如事件名称,启动时间,循环时间等。
sys schema中的视图、函数等:将mysql元数据的视图转换为易于使用的查询。例如,sys库中有一个“schema_table_statistics”视图,其中包括各种表和索引的统计信息。
从上述系统表,我们清楚地了解到mysql的系统信息主要有用户和权限、数据库和表相关等信息。
总之,尽管mysql中没有名为“mysql”的表,但mysql中有许多系统数据库和表,用于存储与mysql服务器和数据库元数据相关的信息。 了解这些系统数据库和表可帮助您更好地了解mysql。
以上就是mysql没有mysql表的详细内容。