首页  >  文章  >  数据库  >  mysql没有mysql表

mysql没有mysql表

WBOY
WBOY原创
2023-05-23 11:09:07781浏览

MySQL是一种关系型数据库管理系统,是世界上最流行的开源数据库之一。 但是,在MySQL中,实际上并不存在名为“mysql”的表。 本文将介绍MySQL中的系统数据库和系统表,以及它们的作用。

一、系统数据库

MySQL中的系统数据库包括:

  1. mysql:存储关于MySQL服务器本身的信息,例如操作员,权限和系统变量。
  2. information_schema:提供所有当前数据库和表的元数据信息。 例如,您可以在information_schema中找到有关每个表的列和索引的信息。
  3. performance_schema:为 MySQL服务器提供性能度量工具。 它包括有关MySQL服务器各个方面的性能统计信息,例如正在运行的查询,使用的表和索引等。
  4. sys: 将MySQL元数据的视图转换为易于使用的查询。Sys被设计为提供对DBA和开发人员简单,方便的MySQL元数据信息的访问。

以上这些系统数据库在MySQL中可见,你可以通过命令SHOW DATABASES查询到。

二、系统表

在MySQL的系统数据库中,存在许多系统表。下面是其中一些系统表以及它们的作用:

  1. 用户和权限相关的系统表

mysql.user:存储MySQL的用户帐户和安全访问级别的信息。 它包括用户的名称,主机地址,密码等。 它是授权管理方面的重要表。

mysql.db:包括用户的数据库权限。它列出了允许访问数据库和表的用户。 (包括特定的主机地址)

mysql.host:它存放了主机名和其对应的返回客户端IP地址的规则

mysql.roles和mysql.role_edges:是mysql8.0中引入的,用来集成角色的

  1. 数据库和表相关的系统表

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表的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn