variables_metadata
表格針對每個伺服器系統變數,顯示其名稱、範圍、類型、值的範圍(如果適用)和描述。
variables_metadata
表格包含以下欄位
VARIABLE_NAME
變數名稱。
VARIABLE_SCOPE
變數的範圍;這是此處列出的其中一個值
GLOBAL
變數僅為全域。
SESSION
變數可以具有全域或連線範圍。
SESSION_ONLY
變數僅為連線。
DATA_TYPE
變數的類型;這是以下其中一個值
Integer
整數。
Numeric
小數值。
String
字串。
Enumeration
列舉。
Boolean
布林值 true 或 false。
Set
一組值。
非數值類型變數的可能值通常顯示在
DOCUMENTATION
欄位的文字中;否則,請參閱手冊中變數的說明。MIN_VALUE
變數允許的最小值。對於非數值的變數,這永遠是空字串。
此欄位的目的是要取代
variables_info
表格的MAX_VALUE
欄位,該欄位在 MySQL 9.0 中已被棄用。MAX_VALUE
變數允許的最大值。對於非數值的變數,這永遠是空字串。
此欄位的目的是要取代
variables_info
表格的MAX_VALUE
欄位,該欄位在 MySQL 9.0 中已被棄用。DOCUMENTATION
variables_metadata
資料表沒有索引。
此資料表為唯讀。唯一允許的 DML 陳述式為 SELECT
和 TABLE
;不允許包含 TRUNCATE TABLE
的 DDL 陳述式。
以下範例中顯示的三個使用 variables_metadata
資料表的查詢,提供了關於 binlog_row_image
、innodb_doublewrite_batch_size
和 secure_file_priv
系統變數的資訊。
mysql> SELECT * FROM variables_metadata WHERE VARIABLE_NAME='binlog_row_image'\G
*************************** 1. row ***************************
VARIABLE_NAME: binlog_row_image
VARIABLE_SCOPE: SESSION
DATA_TYPE: Enumeration
MIN_VALUE:
MAX_VALUE:
DOCUMENTATION: Controls whether rows should be logged in 'FULL', 'NOBLOB' or
'MINIMAL' formats. 'FULL', means that all columns in the before and after image
are logged. 'NOBLOB', means that mysqld avoids logging blob columns whenever
possible (e.g. blob column was not changed or is not part of primary key).
'MINIMAL', means that a PK equivalent (PK columns or full row if there is no PK
in the table) is logged in the before image, and only changed columns are logged
in the after image. (Default: FULL).
1 row in set (0.01 sec)
mysql> SELECT * FROM variables_metadata WHERE VARIABLE_NAME='innodb_doublewrite_batch_size'\G
*************************** 1. row ***************************
VARIABLE_NAME: innodb_doublewrite_batch_size
VARIABLE_SCOPE: GLOBAL
DATA_TYPE: Integer
MIN_VALUE: 0
MAX_VALUE: 256
DOCUMENTATION: Number of double write pages to write in a batch
1 row in set (0.00 sec)
mysql> SELECT * FROM variables_metadata WHERE VARIABLE_NAME='secure_file_priv'\G
*************************** 1. row ***************************
VARIABLE_NAME: secure_file_priv
VARIABLE_SCOPE: GLOBAL
DATA_TYPE: String
MIN_VALUE:
MAX_VALUE:
DOCUMENTATION: Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to files within specified directory
1 row in set (0.01 sec)
此資料表不顯示系統變數的目前值;此資訊由 Performance Schema 的 global_variables
和 session_variables
資料表提供。
variables_metadata
資料表是在 MySQL 9.0 中新增的。