MySQL 8.3 Release Notes
信息模式 FILES
表提供了所有 InnoDB
表空间类型的元数据,包括 每个表一个文件的表空间、通用表空间、系统表空间、临时表空间 和 撤销表空间(如果存在)。
本节提供了 InnoDB
-specific 使用示例。有关信息模式 FILES
表提供的数据的更多信息,请参阅 第 28.3.15 节,“信息模式 FILES 表”。
Note
此外,INNODB_TABLESPACES
和 INNODB_DATAFILES
表也提供了 InnoDB
表空间的元数据,但数据仅限于每个表一个文件的表空间、通用表空间和撤销表空间。
该查询从信息模式 FILES
表中检索 InnoDB
系统表空间的元数据,从中选择与 InnoDB
表空间相关的字段。FILES
表中的列如果不相关于 InnoDB
则始终返回 NULL
,并从查询中排除。
Press CTRL+C to copymysql> SELECT FILE_ID, FILE_NAME, FILE_TYPE, TABLESPACE_NAME, FREE_EXTENTS, TOTAL_EXTENTS, EXTENT_SIZE, INITIAL_SIZE, MAXIMUM_SIZE, AUTOEXTEND_SIZE, DATA_FREE, STATUS ENGINE FROM INFORMATION_SCHEMA.FILES WHERE TABLESPACE_NAME LIKE 'innodb_system' \G *************************** 1. row *************************** FILE_ID: 0 FILE_NAME: ./ibdata1 FILE_TYPE: TABLESPACE TABLESPACE_NAME: innodb_system FREE_EXTENTS: 0 TOTAL_EXTENTS: 12 EXTENT_SIZE: 1048576 INITIAL_SIZE: 12582912 MAXIMUM_SIZE: NULL AUTOEXTEND_SIZE: 67108864 DATA_FREE: 4194304 ENGINE: NORMAL
该查询检索 FILE_ID
(等同于空间 ID) 和 FILE_NAME
(包括路径信息) 对于 InnoDB
每个表一个文件的表空间和通用表空间。每个表一个文件的表空间和通用表空间的文件扩展名为 .ibd
。
Press CTRL+C to copymysql> SELECT FILE_ID, FILE_NAME FROM INFORMATION_SCHEMA.FILES WHERE FILE_NAME LIKE '%.ibd%' ORDER BY FILE_ID; +---------+---------------------------------------+ | FILE_ID | FILE_NAME | +---------+---------------------------------------+ | 2 | ./mysql/plugin.ibd | | 3 | ./mysql/servers.ibd | | 4 | ./mysql/help_topic.ibd | | 5 | ./mysql/help_category.ibd | | 6 | ./mysql/help_relation.ibd | | 7 | ./mysql/help_keyword.ibd | | 8 | ./mysql/time_zone_name.ibd | | 9 | ./mysql/time_zone.ibd | | 10 | ./mysql/time_zone_transition.ibd | | 11 | ./mysql/time_zone_transition_type.ibd | | 12 | ./mysql/time_zone_leap_second.ibd | | 13 | ./mysql/innodb_table_stats.ibd | | 14 | ./mysql/innodb_index_stats.ibd | | 15 | ./mysql/slave_relay_log_info.ibd | | 16 | ./mysql/slave_master_info.ibd | | 17 | ./mysql/slave_worker_info.ibd | | 18 | ./mysql/gtid_executed.ibd | | 19 | ./mysql/server_cost.ibd | | 20 | ./mysql/engine_cost.ibd | | 21 | ./sys/sys_config.ibd | | 23 | ./test/t1.ibd | | 26 | /home/user/test/test/t2.ibd | +---------+---------------------------------------+
该查询检索 FILE_ID
和 FILE_NAME
对于 InnoDB
全局临时表空间。全局临时表空间文件名以 ibtmp
开头。
Press CTRL+C to copymysql> SELECT FILE_ID, FILE_NAME FROM INFORMATION_SCHEMA.FILES WHERE FILE_NAME LIKE '%ibtmp%'; +---------+-----------+ | FILE_ID | FILE_NAME | +---------+-----------+ | 22 | ./ibtmp1 | +---------+-----------+
类似地,InnoDB
撤销表空间文件名以 undo
开头。以下查询返回 FILE_ID
和 FILE_NAME
对于 InnoDB
撤销表空间。
Press CTRL+C to copymysql> SELECT FILE_ID, FILE_NAME FROM INFORMATION_SCHEMA.FILES WHERE FILE_NAME LIKE '%undo%';