Loading...
MySQL 9.5 Reference Manual 9.5의 17.15.8 Retrieving InnoDB Tablespace Metadata from INFORMATION_SCHEMA.FILES의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Information Schema FILES table은
file-per-table tablespaces,
general tablespaces,
system tablespace,
temporary table tablespaces,
undo tablespaces (존재하는 경우)를 포함하여
모든 InnoDB tablespace 유형에 대한 메타데이터를 제공합니다.
이 섹션은 InnoDB 전용 사용 예를 제공합니다.
Information Schema FILES table이 제공하는 데이터에 대한
추가 정보는
Section 28.3.15, “The INFORMATION_SCHEMA FILES Table”를 참조하십시오.
참고
INNODB_TABLESPACES 및
INNODB_DATAFILES table 역시
InnoDB tablespaces에 대한 메타데이터를 제공하지만,
데이터는 file-per-table, general 및 undo tablespaces로 제한됩니다.
다음 query는 Information Schema
FILES table에서
InnoDB tablespaces와 관련된 field를 사용하여
InnoDB system tablespace에 대한 메타데이터를 가져옵니다.
InnoDB와 관련이 없는
FILES column은 항상
NULL을 반환하며, query에서 제외됩니다.
1mysql> SELECT FILE_ID, FILE_NAME, FILE_TYPE, TABLESPACE_NAME, FREE_EXTENTS, 2 -> TOTAL_EXTENTS, EXTENT_SIZE, INITIAL_SIZE, MAXIMUM_SIZE, AUTOEXTEND_SIZE, DATA_FREE, STATUS ENGINE 3 -> FROM INFORMATION_SCHEMA.FILES WHERE TABLESPACE_NAME LIKE 'innodb_system' \G 4*************************** 1. row *************************** 5 FILE_ID: 0 6 FILE_NAME: ./ibdata1 7 FILE_TYPE: TABLESPACE 8TABLESPACE_NAME: innodb_system 9 FREE_EXTENTS: 0 10 TOTAL_EXTENTS: 12 11 EXTENT_SIZE: 1048576 12 INITIAL_SIZE: 12582912 13 MAXIMUM_SIZE: NULL 14AUTOEXTEND_SIZE: 67108864 15 DATA_FREE: 4194304 16 ENGINE: NORMAL
다음 query는 InnoDB file-per-table 및
general tablespaces에 대해 space ID와 동일한
FILE_ID와 경로 정보를 포함하는
FILE_NAME을 가져옵니다.
File-per-table 및 general tablespaces는
.ibd file extension을 가집니다.
1mysql> SELECT FILE_ID, FILE_NAME FROM INFORMATION_SCHEMA.FILES 2 -> WHERE FILE_NAME LIKE '%.ibd%' ORDER BY FILE_ID; 3 +---------+---------------------------------------+ 4 | FILE_ID | FILE_NAME | 5 +---------+---------------------------------------+ 6 | 2 | ./mysql/plugin.ibd | 7 | 3 | ./mysql/servers.ibd | 8 | 4 | ./mysql/help_topic.ibd | 9 | 5 | ./mysql/help_category.ibd | 10 | 6 | ./mysql/help_relation.ibd | 11 | 7 | ./mysql/help_keyword.ibd | 12 | 8 | ./mysql/time_zone_name.ibd | 13 | 9 | ./mysql/time_zone.ibd | 14 | 10 | ./mysql/time_zone_transition.ibd | 15 | 11 | ./mysql/time_zone_transition_type.ibd | 16 | 12 | ./mysql/time_zone_leap_second.ibd | 17 | 13 | ./mysql/innodb_table_stats.ibd | 18 | 14 | ./mysql/innodb_index_stats.ibd | 19 | 15 | ./mysql/slave_relay_log_info.ibd | 20 | 16 | ./mysql/slave_master_info.ibd | 21 | 17 | ./mysql/slave_worker_info.ibd | 22 | 18 | ./mysql/gtid_executed.ibd | 23 | 19 | ./mysql/server_cost.ibd | 24 | 20 | ./mysql/engine_cost.ibd | 25 | 21 | ./sys/sys_config.ibd | 26 | 23 | ./test/t1.ibd | 27 | 26 | /home/user/test/test/t2.ibd | 28 +---------+---------------------------------------+
다음 query는 InnoDB global temporary tablespace에 대한
FILE_ID와 FILE_NAME을 가져옵니다.
Global temporary tablespace file 이름은 ibtmp prefix를 가집니다.
1mysql> SELECT FILE_ID, FILE_NAME FROM INFORMATION_SCHEMA.FILES 2 WHERE FILE_NAME LIKE '%ibtmp%'; 3+---------+-----------+ 4| FILE_ID | FILE_NAME | 5+---------+-----------+ 6| 22 | ./ibtmp1 | 7+---------+-----------+
마찬가지로, InnoDB undo tablespace file 이름은
undo prefix를 가집니다.
다음 query는
InnoDB undo tablespaces에 대한
FILE_ID와 FILE_NAME을 반환합니다.
1mysql> SELECT FILE_ID, FILE_NAME FROM INFORMATION_SCHEMA.FILES 2 WHERE FILE_NAME LIKE '%undo%';
17.15.7 InnoDB INFORMATION_SCHEMA Temporary Table Info Table
17.16 InnoDB Integration with MySQL Performance Schema