INFORMATION_SCHEMA提供了對數據庫元數據的訪問,MySQL服務器信息,如數據庫或表的名稱,列的數據類型,訪問權限等。 有時也把這些信息叫做數據字典或系統目錄。
每個數據庫實例都會有一個 INFORMATION_SCHEMA 庫,保存的是本實例下其他所有庫的信息。INFORMATION_SCHEMA數據庫包含多個只讀表。 它們實際上是視圖,而不是基礎表,所以沒有與它們關聯的文件,並且你不能在它們上設置觸發器。此外,數據庫目錄下也沒有該庫的目錄。
雖然可以使用USE語句將INFORMATION_SCHEMA選擇為缺省數據庫,但只能讀取表的內容,不能對它們執行INSERT,UPDATE或DELETE操作。
每個MySQL用戶都可以訪問 INFORMATION_SCHEMA,但是只能看到自己有權限的那些行。
CHARACTER_SETS
- 字符集:對 Unicode 的一套編碼。
- collation:用於指定數據集如何排序,以及字符串的比對規則。
CHARACTER_SETS表提供了有關可用字符集的信息。
> desc CHARACTER_SETS;
+----------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+-------------+------+-----+---------+-------+
| CHARACTER_SET_NAME | varchar(32) | NO | | | |
| DEFAULT_COLLATE_NAME | varchar(32) | NO | | | |
| DESCRIPTION | varchar(60) | NO | | | |
| MAXLEN | bigint(3) | NO | | 0 | |
+----------------------+-------------+------+-----+---------+-------+
> select * from CHARACTER_SETS where CHARACTER_SET_NAME like 'utf8%';
+--------------------+----------------------+---------------+--------+
| CHARACTER_SET_NAME | DEFAULT_COLLATE_NAME | DESCRIPTION | MAXLEN |
+--------------------+----------------------+---------------+--------+
| utf8 | utf8_general_ci | UTF-8 Unicode | 3 |
| utf8mb4 | utf8mb4_general_ci | UTF-8 Unicode | 4 |
+--------------------+----------------------+---------------+--------+
COLLATIONS
COLLATIONS表提供有關每個字符集的排序規則的信息。
> desc COLLATIONS; +--------------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------+-------------+------+-----+---------+-------+ | COLLATION_NAME | varchar(32) | NO | | | | | CHARACTER_SET_NAME | varchar(32) | NO | | | | | ID | bigint(11) | NO | | 0 | | | IS_DEFAULT | varchar(3) | NO | | | | | IS_COMPILED | varchar(3) | NO | | | | | SORTLEN | bigint(3) | NO | | 0 | | +--------------------+-------------+------+-----+---------+-------+
COLLATION_NAME is the collation name.
CHARACTER_SET_NAME is the name of the character set with which the collation is associated.
ID is the collation ID.
IS_DEFAULT indicates whether the collation is the default for its character set.
IS_COMPILED indicates whether the character set is compiled into the server.
SORTLEN is related to the amount of memory required to sort strings expressed in the character set.
每個character set會對應一定數量的collation:
> select * from COLLATIONS where COLLATION_NAME like 'utf8%general%'; +--------------------------+--------------------+-----+------------+-------------+---------+ | COLLATION_NAME | CHARACTER_SET_NAME | ID | IS_DEFAULT | IS_COMPILED | SORTLEN | +--------------------------+--------------------+-----+------------+-------------+---------+ | utf8_general_ci | utf8 | 33 | Yes | Yes | 1 | | utf8_general_mysql500_ci | utf8 | 223 | | Yes | 1 | | utf8mb4_general_ci | utf8mb4 | 45 | Yes | Yes | 1 | +--------------------------+--------------------+-----+------------+-------------+---------+
ci 是 case insensitive 的縮寫(大小寫敏感), cs 是 case sensitive 的縮寫。即,指定大小寫是否敏感。
COLLATION_CHARACTER_SET_APPLICABILITY
COLLATION_CHARACTER_SET_APPLICABILITY表顯示了哪種字符集適用於哪種排序方式。這些列相當於我們從SHOW COLLATION獲得的前兩個字段。
> desc COLLATION_CHARACTER_SET_APPLICABILITY; +--------------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------+-------------+------+-----+---------+-------+ | COLLATION_NAME | varchar(32) | NO | | | | | CHARACTER_SET_NAME | varchar(32) | NO | | | | +--------------------+-------------+------+-----+---------+-------+
COLUMNS
COLUMNS表提供表格中列的信息。
> desc COLUMNS; +--------------------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+---------------------+------+-----+---------+-------+ | TABLE_CATALOG | varchar(512) | NO | | | | | TABLE_SCHEMA | varchar(64) | NO | | | | | TABLE_NAME | varchar(64) | NO | | | | | COLUMN_NAME | varchar(64) | NO | | | | | ORDINAL_POSITION | bigint(21) unsigned | NO | | 0 | | | COLUMN_DEFAULT | longtext | YES | | NULL | | | IS_NULLABLE | varchar(3) | NO | | | | | DATA_TYPE | varchar(64) | NO | | | | | CHARACTER_MAXIMUM_LENGTH | bigint(21) unsigned | YES | | NULL | | | CHARACTER_OCTET_LENGTH | bigint(21) unsigned | YES | | NULL | | | NUMERIC_PRECISION | bigint(21) unsigned | YES | | NULL | | | NUMERIC_SCALE | bigint(21) unsigned | YES | | NULL | | | DATETIME_PRECISION | bigint(21) unsigned | YES | | NULL | | | CHARACTER_SET_NAME | varchar(32) | YES | | NULL | | | COLLATION_NAME | varchar(32) | YES | | NULL | | | COLUMN_TYPE | longtext | NO | | NULL | | | COLUMN_KEY | varchar(3) | NO | | | | | EXTRA | varchar(30) | NO | | | | | PRIVILEGES | varchar(80) | NO | | | | | COLUMN_COMMENT | varchar(1024) | NO | | | | | GENERATION_EXPRESSION | longtext | NO | | NULL | | +--------------------------+---------------------+------+-----+---------+-------+ 21 rows in set (0.01 sec)
COLUMN_PRIVILEGES
COLUMN_PRIVILEGES表提供有關列權限的信息。 這些信息來自mysql.columns_priv授權表。
> desc COLUMN_PRIVILEGES; +----------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+-------+ | GRANTEE | varchar(81) | NO | | | | | TABLE_CATALOG | varchar(512) | NO | | | | | TABLE_SCHEMA | varchar(64) | NO | | | | | TABLE_NAME | varchar(64) | NO | | | | | COLUMN_NAME | varchar(64) | NO | | | | | PRIVILEGE_TYPE | varchar(64) | NO | | | | | IS_GRANTABLE | varchar(3) | NO | | | | +----------------+--------------+------+-----+---------+-------+
PRIVILEGE_TYPE 可以包含一個(且只能有一個)這些值:SELECT,INSERT,UPDATE,REFERENCES。
如果用戶具有GRANT OPTION權限,則IS_GRANTABLE為YES。 否則,IS_GRANTABLE 為NO。 輸出不會將GRANT OPTION列為單獨的權限。
ENGINES
ENGINES表提供了有關存儲引擎的信息。
> desc ENGINES; +--------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+-------+ | ENGINE | varchar(64) | NO | | | | | SUPPORT | varchar(8) | NO | | | | | COMMENT | varchar(80) | NO | | | | | TRANSACTIONS | varchar(3) | YES | | NULL | | | XA | varchar(3) | YES | | NULL | | | SAVEPOINTS | varchar(3) | YES | | NULL | | +--------------+-------------+------+-----+---------+-------+
ENGINES表是非標准表,其內容對應於SHOW ENGINES語句的列。
EVENTS
EVENTS表提供了有關定時事件(scheduled events)的信息,events類似與linux crontab計划任務,用於時間觸發。通過單獨或調用存儲過程使用,在某一特定的時間點,觸發相關的SQL語句或存儲過程。
> desc events; +----------------------+---------------+------+-----+---------------------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------------+---------------+------+-----+---------------------+-------+ | EVENT_CATALOG | varchar(64) | NO | | | | | EVENT_SCHEMA | varchar(64) | NO | | | | | EVENT_NAME | varchar(64) | NO | | | | | DEFINER | varchar(77) | NO | | | | | TIME_ZONE | varchar(64) | NO | | | | | EVENT_BODY | varchar(8) | NO | | | | | EVENT_DEFINITION | longtext | NO | | NULL | | | EVENT_TYPE | varchar(9) | NO | | | | | EXECUTE_AT | datetime | YES | | NULL | | | INTERVAL_VALUE | varchar(256) | YES | | NULL | | | INTERVAL_FIELD | varchar(18) | YES | | NULL | | | SQL_MODE | varchar(8192) | NO | | | | | STARTS | datetime | YES | | NULL | | | ENDS | datetime | YES | | NULL | | | STATUS | varchar(18) | NO | | | | | ON_COMPLETION | varchar(12) | NO | | | | | CREATED | datetime | NO | | 0000-00-00 00:00:00 | | | LAST_ALTERED | datetime | NO | | 0000-00-00 00:00:00 | | | LAST_EXECUTED | datetime | YES | | NULL | | | EVENT_COMMENT | varchar(64) | NO | | | | | ORIGINATOR | bigint(10) | NO | | 0 | | | CHARACTER_SET_CLIENT | varchar(32) | NO | | | | | COLLATION_CONNECTION | varchar(32) | NO | | | | | DATABASE_COLLATION | varchar(32) | NO | | | | +----------------------+---------------+------+-----+---------------------+-------+ 24 rows in set (0.00 sec)
• The EVENTS table is a nonstandard table. # EVENTS表是非標准表
• EVENT_CATALOG: The value of this column is always def.
• EVENT_SCHEMA: # events 所屬的庫
• EVENT_NAME: # event 名稱
• DEFINER: # 創建EVENT的賬號,'user_name'@'host_name'的格式
• TIME_ZONE: The event time zone, which is the time zone used for scheduling the event and that is in effect within the event as it executes. The default value is SYSTEM.
• EVENT_BODY: The language used for the statements in the event's DO clause; in MySQL 5.7, this is always SQL. This column is not to be confused with the column of the same name (now named EVENT_DEFINITION) that existed in earlier MySQL versions. # 不要與早期版本的同名項(現在是EVENT_DEFINITION)混淆
• EVENT_DEFINITION: # 時間需要執行的部分,即組成時間的Do子句。
• EVENT_TYPE: #事件重復類型,一次(transient)或重復(repeating)。
• EXECUTE_AT: #對於一次性事件,這是在用於創建事件的CREATE EVENT語句的AT子句中指定的DATETIME值;如果事件的計時由EVERY子句而不是AT子句確定(也就是說,事件類型為repeating),則此列的值為NULL。
• INTERVAL_VALUE: #對於定期事件,此列包含事件的EVERY子句的數字部分。 對於一次性事件(即其定時由AT子句確定的事件),此列為NULL。
• INTERVAL_FIELD: #對於定期事件,此列包含EVERY子句的單位部分,用於管理事件的時間。因此,此列包含“YEAR”,“QUARTER”,“DAY”等值。對於一次性事件(即其定時由AT子句確定的事件),此列為NULL
• SQL_MODE: #在創建或更改事件並在其下執行事件時有效的SQL模式。
• STARTS: #事件定義時包含了STARTS子句的事件,此列包含相應的DATETIME值。 與EXECUTE_AT列一樣,此值可解析所使用的任何表達式。 如果沒有影響事件時間的STARTS子句,則此列為NULL
• ENDS: #事件定義時包含了ENDS子句的循環事件,此列包含相應的DATETIME值。 與EXECUTE_AT列一樣,此值可解析所使用的任何表達式。 如果沒有影響事件時間的ENDS子句,則此列為NULL。
• STATUS: #ENABLE, DISABLE或SLAVESIDE_DISABLED 三個值之一。 SLAVESIDE_DISABLED表示事件的創建發生在另一個作為復制主服務器的MySQL服務器上,並被復制到當前作為從服務器的MySQL服務器上,但事件目前不在從服務器上執行。
• ON_COMPLETION: One of the two values PRESERVE or NOT PRESERVE.
• CREATED: #事件創建時間
• LAST_ALTERED: #事件最后修改時間
• LAST_EXECUTED: #事件最后一次執行的時間
• EVENT_COMMENT: #事件的注釋
• ORIGINATOR: #在其上創建事件的MySQL服務器的服務器ID; 用於復制。 默認值是0。
• CHARACTER_SET_CLIENT: #事件創建時character_set_client系統變量的session值
• COLLATION_CONNECTION: #事件創建時collation_connection系統變量的session值
• DATABASE_COLLATION: #與事件關聯的數據庫的排序規則。
FILES
FILES表提供有關存儲MySQL表空間數據的文件信息。
INFORMATION_SCHEMA.FILES提供有關InnoDB數據文件信息。在MySQL Cluster中,此表還提供有關存儲MySQL Cluster磁盤數據表的文件信息。
> desc FILES; +----------------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------------+---------------------+------+-----+---------+-------+ | FILE_ID | bigint(4) | NO | | 0 | | | FILE_NAME | varchar(4000) | YES | | NULL | | | FILE_TYPE | varchar(20) | NO | | | | | TABLESPACE_NAME | varchar(64) | YES | | NULL | | | TABLE_CATALOG | varchar(64) | NO | | | | | TABLE_SCHEMA | varchar(64) | YES | | NULL | | | TABLE_NAME | varchar(64) | YES | | NULL | | | LOGFILE_GROUP_NAME | varchar(64) | YES | | NULL | | | LOGFILE_GROUP_NUMBER | bigint(4) | YES | | NULL | | | ENGINE | varchar(64) | NO | | | | | FULLTEXT_KEYS | varchar(64) | YES | | NULL | | | DELETED_ROWS | bigint(4) | YES | | NULL | | | UPDATE_COUNT | bigint(4) | YES | | NULL | | | FREE_EXTENTS | bigint(4) | YES | | NULL | | | TOTAL_EXTENTS | bigint(4) | YES | | NULL | | | EXTENT_SIZE | bigint(4) | NO | | 0 | | | INITIAL_SIZE | bigint(21) unsigned | YES | | NULL | | | MAXIMUM_SIZE | bigint(21) unsigned | YES | | NULL | | | AUTOEXTEND_SIZE | bigint(21) unsigned | YES | | NULL | | | CREATION_TIME | datetime | YES | | NULL | | | LAST_UPDATE_TIME | datetime | YES | | NULL | | | LAST_ACCESS_TIME | datetime | YES | | NULL | | | RECOVER_TIME | bigint(4) | YES | | NULL | | | TRANSACTION_COUNTER | bigint(4) | YES | | NULL | | | VERSION | bigint(21) unsigned | YES | | NULL | | | ROW_FORMAT | varchar(10) | YES | | NULL | | | TABLE_ROWS | bigint(21) unsigned | YES | | NULL | | | AVG_ROW_LENGTH | bigint(21) unsigned | YES | | NULL | | | DATA_LENGTH | bigint(21) unsigned | YES | | NULL | | | MAX_DATA_LENGTH | bigint(21) unsigned | YES | | NULL | | | INDEX_LENGTH | bigint(21) unsigned | YES | | NULL | | | DATA_FREE | bigint(21) unsigned | YES | | NULL | | | CREATE_TIME | datetime | YES | | NULL | | | UPDATE_TIME | datetime | YES | | NULL | | | CHECK_TIME | datetime | YES | | NULL | | | CHECKSUM | bigint(21) unsigned | YES | | NULL | | | STATUS | varchar(20) | NO | | | | | EXTRA | varchar(255) | YES | | NULL | | +----------------------+---------------------+------+-----+---------+-------+ 38 rows in set (0.00 sec)
InnoDB Notes
以下說明適用於InnoDB數據文件。 下面沒有描述的INFORMATION_SCHEMA.FILES字段不適用於InnoDB並報告NULL值。
INFORMATION_CHEMA.FILES報告的數據來自於InnoDB打開文件的內存緩存。相比之下,INFORMATION_SCHEMA.INNODB_SYS_DATAFILES 從InnoDB SYS_DATAFILES內部數據字典表中報告數據。
INFORMATION_SCHEMA.FILES報告的數據包括臨時表空間數據。此數據在內部SYS_DATAFILES數據字典表中不可得,因此不由INNODB_SYS_DATAFILES報告。
當使用innodb_undo_tablespaces配置單獨的undo表空間時,INFORMATION_SCHEMA.FILES則會報告undo表空間的數據。
FILE_ID指表空間ID,也被稱為space_id或fil_space_t :: id。
FILE_NAME # FILE_NAME是數據文件的名稱。 每個表文件和常規表空間都有一個.ibd文件擴展名。undo表空間的前綴為undo。 系統表空間的前綴是ibdata。 臨時表空間由ibtmp作為前綴。 文件名包括文件路徑,可能與MySQL數據目錄(datadir)有關。
FILE_TYPE # FILE_TYPE是表空間文件類型。 InnoDB文件有三種可能的文件類型。 TABLESPACE是用於保存表,索引或其他形式的用戶數據的表空間文件類型。 TEMPORARY是臨時表空間的文件類型。 UNDO LOG是undo日志表空間的文件類型,用於保存undo記錄。 默認情況下,undo記錄存儲在系統表空間中。 可以使用innodb_undo_tablespaces選項來添加獨立的undo日志表空間。
TABLESPACE_NAME # TABLESPACE_NAME是表空間的SQL名稱。 常規表空間(general tablespace)名稱是SYS_TABLESPACES.NAME值。 對於其他表空間文件,名稱以innodb_開頭,例如innodb_system,innodb_undo和innodb_file_per_table。 file-per-table表空間名稱格式是innodb_file_per_table _ ##,其中##是表空間ID。
ENGINE # ENGINE是指存儲引擎。對於InnoDB文件,值總是InnoDB。
innodb 表空間結構:page(頁)—> extent(區)—> segment(段)—> tablespace(表空間)
FREE_EXTENTS # FREE_EXTENTS是當前數據文件中完全可用的區的數量。
TOTAL_EXTENTS # TOTAL_EXTENTS是當前數據文件中使用的完全區(full extents)的數量,文件末尾的局部區(partial extent)不計算在內。
EXTENT_SIZE #對於4k,8k或16k頁面大小的文件,EXTENT_SIZE是1048576(1MB)。 對於32k頁面大小的文件,擴展大小為2097152字節(2MB),對於64k頁面大小的文件,擴展大小為4194304(4MB)。 INFORMATION_SCHEMA.FILES不報告InnoDB頁面大小。頁面大小由innodb_page_size選項定義。擴展大小信息也可以從INNODB_SYS_TABLESPACES中檢索到,其中FILES.FILE_ID = INNODB_SYS_TABLESPACES.SPACE_ID。
INITIAL_SIZE # INITIAL_SIZE是文件的初始大小,以字節為單位。
MAXIMUM_SIZE # MAXIMUM_SIZE是文件中允許的最大字節數。 除預定義的系統表空間數據文件外,所有數據文件的值均為NULL。 最大系統表空間文件大小由innodb_data_file_path定義。 最大臨時表空間文件大小由innodb_temp_data_file_path定義。 預定義的系統表空間數據文件的NULL值表示沒有明確定義文件大小限制。
AUTOEXTEND_SIZE # AUTOEXTEND_SIZE是由innodb_data_file_path為系統表空間定義的自動擴展大小,或由臨時表空間的innodb_temp_data_file_path定義。
DATA_FREE # DATA_FREE是整個表空間的可用空間總量(以字節為單位)。 預定義的系統表空間(包括系統表空間和臨時表空間)可能有一個或多個數據文件。
STATUS # STATUS默認為NORMAL。 InnoDB file-per-table表空間可能會報告IMPORTING,這表明表空間不可用。
NDB Notes
太多了,這里先不列舉了,有興趣的可以自行查看手冊。
important
一旦某個extent(區)被使用,delete from 語句不會釋放磁盤空間,drop 數據文件才能釋放。
GLOBAL_STATUS & SESSION_STATUS & GLOBAL_VARIABLES & SESSION_VARIABLES
GLOBAL_STATUS和SESSION_STATUS表提供有關服務器狀態變量的信息。 它們的內容對應於SHOW GLOBAL STATUS和SHOW SESSION STATUS語句產生的信息
GLOBAL_VARIABLES和SESSION_VARIABLES表提供有關服務器狀態變量的信息。 它們的內容對應於SHOW GLOBAL VARIABLES和SHOW SESSION VARIABLES語句所產生的信息。
從MySQL 5.7.6開始,這里描述的4張表中的信息也可在Performance Schema中獲取。 INFORMATION_SCHEMA表不推薦優先於Performance Schema表,並將在未來的MySQL版本中被刪除。(從mysql 5.7.6開始 information_schema.global_status 已經開始被舍棄,為了兼容性,此時需要打開 show_compatibility_56)
> desc GLOBAL_STATUS; +----------------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+---------------+------+-----+---------+-------+ | VARIABLE_NAME | varchar(64) | NO | | | | | VARIABLE_VALUE | varchar(1024) | YES | | NULL | | +----------------+---------------+------+-----+---------+-------+
KEY_COLUMN_USAGE
KEY_COLUMN_USAGE表描述了哪些鍵列有約束條件。
如果約束是一個外鍵,那么這是外鍵的列,而不是外鍵引用的列。
ORDINAL_POSITION的值是列在約束中的位置,而不是列在表中的位置。 列位置從1開始編號。
對於唯一主鍵約束,POSITION_IN_UNIQUE_CONSTRAINT的值為NULL。 對於外鍵約束,它是被引用的表的鍵中的序數位置。
OPTIMIZER_TRACE
OPTIMIZER_TRACE表提供了優化器跟蹤功能產生的信息。要啟用跟蹤(tracking),使用optimizer_trace系統變量。
PARAMETERS
PARAMETERS表提供有關存儲過程和函數參數的信息,以及有關存儲函數的返回值的信息。 參數信息與mysql.proc表中param_list列的內容類似。
PARTITIONS
PARTITIONS表提供有關表分區的信息。 有關分區表的更多信息,請參見第21章分區。
> desc PARTITIONS; +-------------------------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------------------+---------------------+------+-----+---------+-------+ | TABLE_CATALOG | varchar(512) | NO | | | | always def | TABLE_SCHEMA | varchar(64) | NO | | | | 分區所屬的庫 | TABLE_NAME | varchar(64) | NO | | | | 分區所屬的表 | PARTITION_NAME | varchar(64) | YES | | NULL | | 分區名 | SUBPARTITION_NAME | varchar(64) | YES | | NULL | | 子分區名 | PARTITION_ORDINAL_POSITION | bigint(21) unsigned | YES | | NULL | | 分區的編號 | SUBPARTITION_ORDINAL_POSITION | bigint(21) unsigned | YES | | NULL | | 子分區編號 | PARTITION_METHOD | varchar(18) | YES | | NULL | | 分區類型,RANGE, LIST, HASH, LINEAR HASH, KEY, or LINEAR KEY; | SUBPARTITION_METHOD | varchar(12) | YES | | NULL | | 子分區類型 | PARTITION_EXPRESSION | longtext | YES | | NULL | | 分區函數的表達式 | SUBPARTITION_EXPRESSION | longtext | YES | | NULL | | | PARTITION_DESCRIPTION | longtext | YES | | NULL | | 用於range和list,定義分區范圍的值 | TABLE_ROWS | bigint(21) unsigned | NO | | 0 | | 該分區的行數 | AVG_ROW_LENGTH | bigint(21) unsigned | NO | | 0 | | 行的平均長度(字節)= DATA_LENGTH/ TABLE_ROWS | DATA_LENGTH | bigint(21) unsigned | NO | | 0 | | 所有行的總長度(字節) | MAX_DATA_LENGTH | bigint(21) unsigned | YES | | NULL | | 可以存儲在此分區或子分區中的最大字節數 | INDEX_LENGTH | bigint(21) unsigned | NO | | 0 | | 索引長度(字節) | DATA_FREE | bigint(21) unsigned | NO | | 0 | | 分配給分區或子分區但未使用的字節數。 | CREATE_TIME | datetime | YES | | NULL | | 分區創建時間 | UPDATE_TIME | datetime | YES | | NULL | | 分區更新時間 | CHECK_TIME | datetime | YES | | NULL | | | CHECKSUM | bigint(21) unsigned | YES | | NULL | | | PARTITION_COMMENT | varchar(80) | NO | | | | | NODEGROUP | varchar(12) | NO | | | | | TABLESPACE_NAME | varchar(64) | YES | | NULL | | 分區所屬的表空間 +-------------------------------+---------------------+------+-----+---------+-------+ 25 rows in set (0.00 sec)
PLUGINS
PLUGINS表提供了有關服務器插件的信息。
> desc PLUGINS; +------------------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------------+-------------+------+-----+---------+-------+ | PLUGIN_NAME | varchar(64) | NO | | | | | PLUGIN_VERSION | varchar(20) | NO | | | | | PLUGIN_STATUS | varchar(10) | NO | | | | 插件狀態,ACTIVE,INACTIVE,DISABLED或DELETED | PLUGIN_TYPE | varchar(80) | NO | | | | | PLUGIN_TYPE_VERSION | varchar(20) | NO | | | | | PLUGIN_LIBRARY | varchar(64) | YES | | NULL | | 插件共享庫文件的名稱,如server_audit.so,如果為NULL,則插件不能卸除 | PLUGIN_LIBRARY_VERSION | varchar(20) | YES | | NULL | | | PLUGIN_AUTHOR | varchar(64) | YES | | NULL | | | PLUGIN_DESCRIPTION | longtext | YES | | NULL | | | PLUGIN_LICENSE | varchar(80) | YES | | NULL | | | LOAD_OPTION | varchar(64) | NO | | | | 如何加載插件,值為OFF,ON,FORCE或FORCE_PLUS_PERMANENT +------------------------+-------------+------+-----+---------+-------+
PROCESSLIST
PROCESSLIST表提供有關正在運行的線程信息。
> desc PROCESSLIST; +---------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+---------------------+------+-----+---------+-------+ | ID | bigint(21) unsigned | NO | | 0 | | | USER | varchar(32) | NO | | | | | HOST | varchar(64) | NO | | | | | DB | varchar(64) | YES | | NULL | | | COMMAND | varchar(16) | NO | | | | | TIME | int(7) | NO | | 0 | | | STATE | varchar(64) | YES | | NULL | | | INFO | longtext | YES | | NULL | | +---------+---------------------+------+-----+---------+-------+
PROFILING
PROFILING表提供語句分析信息。 其內容對應於SHOW PROFILES和SHOW PROFILE聲明所產生的信息。
warning:INFORMATION_SCHEMA.PROFILING 在以后的版本將被移除,請使用 Performance Schema 代替。
REFERENTIAL_CONSTRAINTS
REFERENTIAL_CONSTRAINTS表提供有關外鍵的信息。
ROUTINES
ROUTINES表提供有關routines(存儲過程procedures和函數functions)的信息。 ROUTINES表不包括用戶定義的函數(UDF)。
SCHEMATA
schema是一個數據庫,所以SCHEMATA表提供有關數據庫的信息。
SCHEMA_PRIVILEGES
SCHEMA_PRIVILEGES表提供有關schema(數據庫)特權的信息。 這些信息來自mysql.db授權表。
STATISTICS
STATISTICS表提供有關表索引的信息。
TABLES
TABLES表提供有關數據庫中表的信息。
TABLESPACES
TABLESPACES表提供有關active表空間的信息。
INFORMATION_SCHEMA.TABLESPACES表不提供有關InnoDB表空間的信息。對於InnoDB表空間元數據,請參閱INNODB_SYS_TABLESPACES和INNODB_SYS_DATAFILES。 從MySQL 5.7.8開始,INFORMATION_SCHEMA.FILES表還提供了InnoDB表空間的元數據。
TABLE_CONSTRAINTS
TABLE_CONSTRAINTS表描述哪些表有約束。
CONSTRAINT_TYPE值可以是UNIQUE,PRIMARY KEY或FOREIGN KEY。
當Non_unique字段為0時,UNIQUE和PRIMARY KEY信息與從SHOW INDEX輸出中的Key_name字段獲得的信息大致相同。
CONSTRAINT_TYPE列可以包含以下值之一:UNIQUE,PRIMARY KEY,FOREIGN KEY,CHECK。 這是一個CHAR(不是ENUM)列。 直到我們支持CHECK,CHECK值才可用。
TABLE_PRIVILEGES
TABLE_PRIVILEGES表提供有關表特權的信息。 這些信息來自mysql.tables_priv授權表。
PRIVILEGE_TYPE可以包含一個(且只能一個)這些值:SELECT,INSERT,UPDATE,REFERENCES,ALTER,INDEX,DROP,CREATE VIEW。
TRIGGERS
TRIGGERS表提供關於觸發器的信息。 要查看有關表觸發器的信息,您必須具有該表的TRIGGER權限。
USER_PRIVILEGES
USER_PRIVILEGES表提供有關全局權限的信息。 這些信息來自mysql.user授權表。
VIEWS
VIEWS表提供關於數據庫中視圖的信息。 您必須具有SHOW VIEW權限才能訪問此表。
InnoDB Tables
另外還有 INNODB 相關的表:
INNODB_LOCKS,INNODB_TRX,INNODB_SYS_DATAFILES,INNODB_FT_CONFIG,INNODB_SYS_VIRTUAL,INNODB_CMP,INNODB_FT_BEING_DELETED,INNODB_CMP_RESET,INNODB_CMP_PER_INDEX,INNODB_CMPMEM_RESET,INNODB_FT_DELETED,INNODB_BUFFER_PAGE_LRU,INNODB_LOCK_WAITS,INNODB_TEMP_TABLE_INFO,INNODB_SYS_INDEXES,INNODB_SYS_TABLES,INNODB_SYS_FIELDS,INNODB_CMP_PER_INDEX_RESET,INNODB_BUFFER_PAGE,INNODB_FT_DEFAULT_STOPWORD,INNODB_FT_INDEX_TABLE,INNODB_FT_INDEX_CACHE,INNODB_SYS_TABLESPACES,INNODB_METRICS,INNODB_SYS_FOREIGN_COLS,INNODB_CMPMEM,INNODB_BUFFER_POOL_STATS,INNODB_SYS_COLUMNS,INNODB_SYS_FOREIGN,INNODB_SYS_TABLESTATS
相關信息可查詢官方手冊。