该 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 中添加的。