这个专题主要讲information_ schema数据库下的一些表

如无特殊说明数据库版本为MySQL 5.7.26

1. FILES

该表提供存储MySQL表空间数据的文件的信息

它提供InnoDB数据文件的信息,如果是NDB,它提供了有关存储了NDB集群磁盘数据表的文件的信息。

对于开启了innodb_file_per_table参数,则每个表对应一个表空间,即一个数据文件 此时系统表空间可以有多个数据文件

有如下栏位

下面的介绍只是对于InnoDB引擎的描述,对于NDB,请参看最后的链接

下面提到的预定义的系统表空间包括系统表空间和临时表空间

  • FILE_ID 表空间的ID
  • FILE_NAME 数据文件的名称以.idb结尾,其中UNDO表空间以undo.开头,系统表空间以ibdata.开头,临时表空间以ibtmp.开头
  • FILE_TYPE 文件的类型,有三种类型,普通文件(TABLESPACE) ,临时文件(TEMPORARY),UNDO日志文件(UNDO LOG) 
  • TABLESPACE_NAME 表空间的SQL名称,对于独立表空间来说,innodb_file_per_table_##来命名,##为FILE_ID
  • TABLE_CATALOG 该值始终为空
  • TABLE_SCHEMA 该值始终为NULL -TABLE_NAME 始终为NULL
  • LOGFILE_GROUP_NAME 始终为NULL
  • LOGFILE_GROUP_NUMBER 始终为NULL
  • ENGINE始终为InnoDB
  • FULLTEXT_KEYS 始终为NULL
  • DELETED_ROWS始终为NULL
  • UPDATE_COUNT 始终为NULL
  • FREE_EXTENTS 当前文件中完全空闲的段的个数
  • TOTAL_EXTENTS 当前文件完全使用的段的个数,任何
  • EXTENT_SIZE 数据文件段的大小,各个page size对应的值不一样,具体见最后的链接
  • INITIAL_SIZE 文件的初始大小,字节为单位
  • MAXIMUM_SIZE数据文件的最大大小,以字节为单位,除了预定义的系统表空间,其值为NULL,系统表空间最大大小由innodb_data_file_path定义,最大临时表空间由innodb_temp_data_file_path定义
  • AUTOEXTEND_SIZE 是在innodb_data_file_path 和innodb_temp_data_file_path中定义的自动扩展大小
  • CREATION_TIME 始终为NULL
  • LAST_UPDATE_TIME 始终为NULL
  • LAST_ACCESS_TIME 始终为NULL
  • RECOVER_TIME 始终为NULL
  • TRANSACTION_COUNTER 始终为NULL
  • VERSION 始终为NULL
  • ROW_FORMAT 始终为NULL
  • TABLE_ROWS 始终为NULL
  • AVG_ROW_LENGTH 始终为NULL
  • DATA_LENGTH 始终为NULL
  • MAX_DATA_LENGTH 始终为NULL
  • INDEX_LENGTH 始终为NULL
  • DATA_FREE 整个表空间的剩余大小,字节为单位
  • CREATE_TIME 始终为NULL
  • UPDATE_TIME 始终为NULL
  • CHECK_TIME 始终为NULL
  • CHECKSUM 始终为NULL
  • STATUS 正常为NORMAL,如果独立表空间文件值为IMPORTING,代表不可用
  • EXTRA 始终为NULL

2.其他一些内容

如下内容只针对InnoDB数据文件

  • 该表的内容获取自内存中的打开文件,而INNODB_SYS_DATAFILES表才是来源与数据字典
  • 该表包括临时表空间文件,而INNODB_SYS_DATAFILES不包含
  • 该表包含UNDO表空间

2. 实际截图

SELECT FILE_ID, FILE_NAME, FILE_TYPE, TABLESPACE_NAME, FREE_EXTENTS, TOTAL_EXTENTS, EXTENT_SIZE, INITIAL_SIZE, MAXIMUM_SIZE, AUTOEXTEND_SIZE, DATA_FREE, STATUS FROM INFORMATION_SCHEMA.FILES WHERE ENGINE='InnoDB'\G
Image.png
Image_2.png

3. 参考链接

https://dev.mysql.com/doc/refman/5.7/en/files-table.html