`

MySQL中information_schema

 
阅读更多

来自:

information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此你将无法看到与之相关的任何文件。

可以参考:http://dev.mysql.com/doc/refman/5.5/en/information-schema.html

关于msyql的信息表的解释可以参考下面这篇文章。

【下文转自】http://help.wopus.org/mysql-manage/607.html

大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_schema数据库。 information_schema数据库是做什么用的呢,使用WordPress博客的朋友可能会想,是不是安装模板添加的数据库呀?看完本片文章 后,你就会对information_schema数据库有所了解。

information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。

information_schema数据库表说明:

SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。

TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是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表:提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES表不包含自定义函数(UDF)。名为“mysql.proc name”的列指明了对应于INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列。

VIEWS表:给出了关于数据库中的视图的信息。需要有show views权限,否则无法查看视图信息。

TRIGGERS表:提供了关于触发程序的信息。必须有super权限才能查看该表

 

innodb相关的信息表

可以参考:http://dev.mysql.com/doc/refman/5.5/en/innodb-information-schema.html, http://dev.mysql.com/doc/refman/5.5/en/innodb-i_s-tables.html

INNODB_CMP and INNODB_CMP_RESET 表:The INNODB_CMP and INNODB_CMP_RESET tables contain status information on operations related to compressed InnoDB tables.

INNODB_CMPMEM and INNODB_CMPMEM_RESET表:The INNODB_CMPMEM and INNODB_CMPMEM_RESET tables contain status information on compressed pages within the InnoDB buffer pool.

INNODB_BUFFER_PAGE表:The INNODB_BUFFER_PAGE table holds information about each page in the InnoDB buffer pool.

INNODB_BUFFER_PAGE_LRU表:The INNODB_BUFFER_PAGE_LRU table holds information about the pages in the InnoDB buffer pool, in particular how they are ordered that determines which pages to evict from the buffer pool when it becomes full.

INNODB_BUFFER_POOL_STATS表:The INNODB_BUFFER_POOL_STATS table provides much of the same buffer pool information provided in SHOW ENGINE INNODB STATUS output. Much of the same information may also be obtained using InnoDB buffer pool server status variables.

INNODB_TRX表:The INNODB_TRX table contains information about every transaction currently executing inside InnoDB, including whether the transaction is waiting for a lock, when the transaction started, and the SQL statement the transaction is executing, if any.
INNODB_LOCKS表:The INNODB_LOCKS table contains information about each lock that an InnoDB transaction has requested but not yet acquired, and each lock that a transaction holds that is blocking another transaction.
INNODB_LOCK_WAITS 表:The INNODB_LOCK_WAITS table contains one or more rows for each blocked InnoDB transaction, indicating the lock it has requested and any locks that are blocking that request.

分享到:
评论

相关推荐

    MySQL中information_schema是什么

    SELECT schema_name FROM information_schema.schemata; ``` 2. **获取某个数据库下的所有表**: ```sql SELECT table_name FROM information_schema.tables WHERE table_schema = 'your_database'; ``` 3. *...

    解析MySQL的information_schema数据库

    USER_PRIVILEGES、SCHEMA_PRIVILEGES、TABLE_PRIVILEGES和COLUMN_PRIVILEGES这四张表与权限管理紧密相关,分别提供了全局、数据库级、表级和列级的权限信息,这些信息来自于mysql.*授权表,帮助管理员管理用户访问...

    使用information_schema.tables查询数据库和数据表信息1

    2. 要查看特定数据库(例如`mysql`)中的所有表,可以先切换到`information_schema`数据库: ```sql USE information_schema; SELECT TABLE_SCHEMA, table_name FROM tables WHERE table_schema = 'mysql'; ``` ...

    关于MySQL绕过授予information_schema中对象时报ERROR 1044(4200)错误

    在MySQL中,`information_schema`是一个特殊的数据库,它包含了所有数据库服务器中的元数据信息,比如表、列、索引和权限等。用户通常可以通过查询`information_schema`来获取数据库的相关信息,例如表结构、约束等...

    mysql数据库中的information_schema和mysql可以删除吗?

    SELECT DATABASE() AS 'Current_DB', SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA; ``` 如果你尝试删除`information_schema`,MySQL服务将无法正常工作,因为很多操作(如查询、创建、修改数据库对象)都需要...

    information_schema数据库在SQL注入中的应用.docx

    Schemata 表提供了当前 MySQL 数据库中所有数据库的信息,其中 SCHEMA_NAME 字段保存了所有的数据库名。“show databases;”命令的结果即取自此表。通过查询 Schemata 表,可以获取到所有数据库的名称,例如,执行...

    MySQL8.0-INFORMATION_SCHEMA增强

    Coinciding with the new native data dictionary in MySQL 8.0, we have made a number of useful enhancements to our INFORMATION_SCHEMA subsystem design in MySQL 8.0. In this post I will first go th

    MySQL5.7-information

    ### 22.22 The INFORMATION_SCHEMA SCHEMA_PRIVILEGES Table 此表列出了每个数据库的权限信息,这对于管理数据库级权限非常重要。 ### 22.23 The INFORMATION_SCHEMA STATISTICS Table 该表包含了索引统计信息,...

    查看mySQL数据库索引

    `INFORMATION_SCHEMA.STATISTICS`表中包含了关于MySQL中所有表的索引统计信息,包括索引名称、索引类型、索引列等。 #### 三、解读`INFORMATION_SCHEMA.STATISTICS`表 `INFORMATION_SCHEMA.STATISTICS`表包含了多...

    出现错误mysql Table ‘performance_schema…解决办法

    同时,`information_schema`是另一个重要的内置数据库,包含所有数据库对象的元数据,如表、列、索引等信息,而`mysql`数据库则包含了系统和管理相关的表。 总的来说,`performance_schema`是MySQL提供的一种强大...

    MYSQL-系统表

    SCHEMA_PRIVILEGES 表提供了 MYSQL 数据库中的数据库权限的信息。 STATISTICS 表 STATISTICS 表提供了 MYSQL 数据库中的统计信息。 TABLES 表 TABLES 表提供了 MYSQL 数据库中的表信息。这个表中包含了以下几个...

    MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

    代码如下:select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),’ MB’) as data_size,concat(truncate(sum(index_length)/1024/1024,2),’MB’) as index_sizefrom information_schema.tables...

    第20章_MySQL的数据目录.pdf

    在 MySQL 中,存在四个系统数据库:mysql、information_schema、performance_schema 和 sys。每个数据库都有其特定的作用和用途。 1. mysql 数据库 mysql 数据库是 MySQL 的核心数据库,存储了 MySQL 的用户账户和...

    mysql知识分享及SQL优化

    SCHEMA_NAME AS db, IF(SUM_NO_GOOD_INDEX_USED > 0 OR SUM_NO_INDEX_USED > 0, '*', '') AS full_scan, COUNT_STAR AS exec_count, SUM_ERRORS AS err_count, SUM_WARNINGS AS warn_count, (SUM_TIMER...

    枚举数据库库表列.docx

    SELECT schema_name FROM information_schema.schemata;` 3. 获取特定数据库的表:`SELECT table_schema, table_name FROM information_schema.tables WHERE table_schema = '数据库名'` 4. 列出所有数据库的所有表...

    实验2 MySQL数据库对象管理.pdf

    在MySQL中,INFORMATION_SCHEMA数据库提供了访问数据库元数据的途径。 1. INFROMATION_SCHEMA.SCHEMATA表 INFORMATION_SCHEMA.SCHEMATA表包含了数据库中所有数据库的信息,例如数据库名和数据库的默认字符集。 2. ...

Global site tag (gtag.js) - Google Analytics