MySQL四大系统库详解及常用命令

MySQL中有四个系统数据库:

  (nformation_schema,mysql,performance_schema,sys)

  (5.6版本为information_schema,mysql,performance_schema,test)

  information_schema:提供访问数据库元的方式。元数据关于数据的数据,如数据库名,表名,访问权限,库表的数据类型,库索引的信息等。术语包括“数据字典”,“系统目录”。在information_schema中有几张只读表,实际上是视图而不是基本表。

      .tables:这张表是有关于MySQL所有库中的所有表详细信息(包括视图),里面详细表述了那张表属于哪个库,表类型,表索引,表引擎,创建时间。(如show tables from schemaname结果)。

      .columns:这张表是有关于表中列的信息,详细的描述了某张表的所有列及列的信息(如show columns from schemaname.tablename结果)。

      .statistics:这张表是有关于表索引的详细信息。(如show index from schemaname.tablename结果)。

      .user_privileges:这张表是有关于用户权限的详细信息,该信息来源于mysql.user。

      .schema_privileges:这张表是有关于数据库权限的详细信息,该信息来源于mysql.db。

      .table_privileges:这张表是有关于表权限的详细信息,该信息来源于mysql.tables_priv。

      .column_privileges:这张表是有关于列权限的详细信息,该信息来源于mysql.columns_priv。

      .character_sets:这张表是有关于MySQL实例可用于字符集的详细信息,(如show character set结果)

      .collations:这张表是有关于各个字符集对照的详细信息。

      .collation_character_set_applicability:这张表是有关于可用于校对的字符集,这些列等效于show collation的前两个显示字段。

      .table_constraints:这张表是有关于存在约束的表,以及表的约束类型。

      .key_column_usage:这张表是有关于具有约束键列的详细信息。

      .routines:这张表是有关于存储子程序的信息,不包含自定义函数(UDF)。

      .views:这张表是有关于数据库中视图的详细信息,需要有show views权限。

      .triggers:这张表是有关于触发程序的详细信息,必须有super权限才可以查看该表。

  mysql:这个库是MySQL的核心数据库,类似于sql server中的master表,主要负责存储数据库的用户,权限设置,关键字等MySQL自己需要使用的控制和管理信息。常在mysql.user表中修改root用户的密码

  performance_schema:这个库主要收集数据库服务器性能参数,用于监控服务器在一个较低级别的过程中的资源消耗,资源等待等情况,并且库里表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表。MySQL5.7默认是开启的。

  sys:这个库数据来源于performance_schema。目标是把performance_schema的复杂程度降低,让DBA能更好的阅读这个库里的内容,让DBA更快的了解DB的运行情况。

相关推荐