information_schema系列三(檔案,變數)
阿新 • • 發佈:2018-12-15
information_schema系列三(檔案,變數)
這個系列的文章主要是為了能夠讓自己瞭解MySQL5.7的一些系統表,統一做一下備註和使用,也希望分享出來讓大家能夠有一點點的受益。 1:FILES 這張表提供了有關在MySQL的表空間中的資料儲存的檔案的資訊 我們剛建立一張表,現在來看一下這張表,我新建了一張maxiangqian名字的表,然後進行查詢。 在5.7.8以後版本FILES就是為InnoDB 的資料檔案提供記錄。在MySQL叢集該表還提供了有關在MySQL叢集磁碟資料表儲存的檔案的資訊。 這個表的資料是從InnoDB in-memory中拉取出來的,所以說這張表本身也是一個記憶體表,每次重啟重新進行拉取。也就是我們下面要說的INNODB_SYS_DATAFILES這張表。還要注意一點的是這張表包含有臨時表的資訊,所以說和SYS_DATAFILES 這張表是不能夠對等的,還是要從INNODB_SYS_DATAFILES看。如果undo表空間也配置是InnoDB 的話,那麼也是會被記錄下來的。 老規矩貼一下官網的全表的解釋:中間show name是J結合官方解釋後我自己的理解INFORMATION_SCHEMA Name | SHOW Name | Remarks |
FILE_ID | 檔案的編號 | MySQL extension |
FILE_NAME | 檔名 | MySQL extension |
FILE_TYPE | 表空間檔案型別 | MySQL extension |
TABLESPACE_NAME | 表空間名 | MySQL extension |
TABLE_CATALOG | MySQL extension | |
TABLE_SCHEMA | MySQL extension | |
TABLE_NAME | MySQL extension | |
LOGFILE_GROUP_NAME | MySQL extension | |
LOGFILE_GROUP_NUMBER | MySQL extension | |
ENGINE | 預設引擎 | MySQL extension |
FULLTEXT_KEYS | MySQL extension | |
DELETED_ROWS | MySQL extension | |
UPDATE_COUNT | MySQL extension | |
FREE_EXTENTS | 在當前的資料檔案的可用空間 | MySQL extension |
TOTAL_EXTENTS | 當前檔案佔用的空間 | MySQL extension |
EXTENT_SIZE | page size如果是4,8,16KB的話就是1M。如果是32k的話就是2M,64k的話就是4M,innodb_page_size記錄頁大小,其他的時候,預設不會記錄這個大小。 | MySQL extension |
INITIAL_SIZE | 檔案初始大小,以位元組為單位 | MySQL extension |
MAXIMUM_SIZE | 允許的檔案最大值,一般情況下這個值是NULL | MySQL extension |
AUTOEXTEND_SIZE | 自增長的值,可以通過兩個值設定innodb_data_file_path ,innodb_temp_data_file_path | MySQL extension |
CREATION_TIME | MySQL extension | |
LAST_UPDATE_TIME | MySQL extension | |
LAST_ACCESS_TIME | MySQL extension | |
RECOVER_TIME | MySQL extension | |
TRANSACTION_COUNTER | MySQL extension | |
VERSION | MySQL extension | |
ROW_FORMAT | MySQL extension | |
TABLE_ROWS | MySQL extension | |
AVG_ROW_LENGTH | MySQL extension | |
DATA_LENGTH | MySQL extension | |
MAX_DATA_LENGTH | MySQL extension | |
INDEX_LENGTH | MySQL extension | |
DATA_FREE | 可用空間 | MySQL extension |
CREATE_TIME | 建立時間 | MySQL extension |
UPDATE_TIME | 更改時間 | MySQL extension |
CHECK_TIME | MySQL extension | |
CHECKSUM | MySQL extension | |
STATUS | 預設這個值是NOMAL,當為 IMPORTING時候就表示不可用 | MySQL extension |
EXTRA | MySQL extension |
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 \G
2:INNODB_SYS_DATAFILES
我們來重新查一下這個記錄資訊: 很容易看出來這張表就是記錄的表的檔案儲存的位置和表空間的一個對應關係。這個就是相當容易理解了,就不多做解釋了。 不過有一點我們要記住,這個表的SPACE是和FILES這張系統表的TABLESPACE_NAME這個列的最後一個值是相對應的。可以方便我們以後查閱 3:GLOBAL_STATUS 和 SESSION_STATUS 這張表預設是提供有關伺服器狀態變數的資訊來用的一般情況是不啟用的,我們可以通過以下的方法來檢視資訊 SHOW GLOBAL STATUS 和GLOBAL_STATUS 是對應的 SHOW SESSION STATUS和 SESSION_STATUS 是對應的 貼一下列,由於兩個表的列是一樣的,所以說貼出來一個就好了INFORMATION_SCHEMA Name | SHOW Name | Remarks |
VARIABLE_NAME | 變數名 | |
VARIABLE_VALUE | 變數值 |
INFORMATION_SCHEMA Name | SHOW Name | Remarks |
FILE_ID | 檔案的編號 | MySQL extension |
FILE_NAME | 檔名 | MySQL extension |
FILE_TYPE | 表空間檔案型別 | MySQL extension |
TABLESPACE_NAME | 表空間名 | MySQL extension |
TABLE_CATALOG | MySQL extension | |
TABLE_SCHEMA | MySQL extension | |
TABLE_NAME | MySQL extension | |
LOGFILE_GROUP_NAME | MySQL extension | |
LOGFILE_GROUP_NUMBER | MySQL extension | |
ENGINE | 預設引擎 | MySQL extension |
FULLTEXT_KEYS | MySQL extension | |
DELETED_ROWS | MySQL extension | |
UPDATE_COUNT | MySQL extension | |
FREE_EXTENTS | 在當前的資料檔案的可用空間 | MySQL extension |
TOTAL_EXTENTS | 當前檔案佔用的空間 | MySQL extension |
EXTENT_SIZE | page size如果是4,8,16KB的話就是1M。如果是32k的話就是2M,64k的話就是4M,innodb_page_size記錄頁大小,其他的時候,預設不會記錄這個大小。 | MySQL extension |
INITIAL_SIZE | 檔案初始大小,以位元組為單位 | MySQL extension |
MAXIMUM_SIZE | 允許的檔案最大值,一般情況下這個值是NULL | MySQL extension |
AUTOEXTEND_SIZE | 自增長的值,可以通過兩個值設定innodb_data_file_path ,innodb_temp_data_file_path | MySQL extension |
CREATION_TIME | MySQL extension | |
LAST_UPDATE_TIME | MySQL extension | |
LAST_ACCESS_TIME | MySQL extension | |
RECOVER_TIME | MySQL extension | |
TRANSACTION_COUNTER | MySQL extension | |
VERSION | MySQL extension | |
ROW_FORMAT | MySQL extension | |
TABLE_ROWS | MySQL extension | |
AVG_ROW_LENGTH | MySQL extension | |
DATA_LENGTH | MySQL extension | |
MAX_DATA_LENGTH | MySQL extension | |
INDEX_LENGTH | MySQL extension | |
DATA_FREE | 可用空間 | MySQL extension |
CREATE_TIME | 建立時間 | MySQL extension |
UPDATE_TIME | 更改時間 | MySQL extension |
CHECK_TIME | MySQL extension | |
CHECKSUM | MySQL extension | |
STATUS | 預設這個值是NOMAL,當為 IMPORTING時候就表示不可用 | MySQL extension |
EXTRA | MySQL extension |
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 \G
2:INNODB_SYS_DATAFILES
我們來重新查一下這個記錄資訊: 很容易看出來這張表就是記錄的表的檔案儲存的位置和表空間的一個對應關係。這個就是相當容易理解了,就不多做解釋了。 不過有一點我們要記住,這個表的SPACE是和FILES這張系統表的TABLESPACE_NAME這個列的最後一個值是相對應的。可以方便我們以後查閱 3:GLOBAL_STATUS 和 SESSION_STATUS 這張表預設是提供有關伺服器狀態變數的資訊來用的一般情況是不啟用的,我們可以通過以下的方法來檢視資訊 SHOW GLOBAL STATUS 和GLOBAL_STATUS 是對應的 SHOW SESSION STATUS和 SESSION_STATUS 是對應的 貼一下列,由於兩個表的列是一樣的,所以說貼出來一個就好了INFORMATION_SCHEMA Name | SHOW Name | Remarks |
VARIABLE_NAME | 變數名 | |
VARIABLE_VALUE | 變數值 |