该 variables_metadata
表显示每个服务器系统变量的名称、作用域、类型、值范围(如果适用)和描述。
该 variables_metadata
表包含以下列
VARIABLE_NAME
变量名称。
VARIABLE_SCOPE
变量的作用域;这是此处列出的值之一
GLOBAL
该变量仅为全局变量。
SESSION
该变量可以具有全局作用域或会话作用域。
SESSION_ONLY
该变量仅为会话变量。
DATA_TYPE
变量的类型;这是以下值之一
Integer
整数。
Numeric
十进制值。
String
字符串。
Enumeration
枚举。
Boolean
布尔值,真或假。
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)
此表不显示系统变量的当前值;此信息由性能模式 global_variables
和 session_variables
表提供。
该 variables_metadata
表是在 MySQL 9.0 中添加的。