MySQL服务器如何获取更改了哪些配置设置

从配置文件或在运行时修改了一些设置(持久化或非持久化),如何向您显示值是什么以及它们是如何设置的。

全局变量

该变量是从全局选项文件中设置的。

首先,让我们列出我们在服务器中配置的所有全局变量:

SELECT t1.VARIABLE_NAME,
VARIABLE_VALUE,
VARIABLE_SOURCE
FROM performance_schema.variables_info t1
JOIN performance_schema.global_variables t2
ON t2.VARIABLE_NAME=t1.VARIABLE_NAME
WHERE t1.VARIABLE_SOURCE != 'COMPILED';

会话变量

会话变量是在运行时设置的。这包括在使用init_file系统变量指定的文件中设置的变量

现在对会话变量进行同样的查询:

SELECT t1.VARIABLE_NAME,
VARIABLE_VALUE,
VARIABLE_SOURCE
FROM performance_schema.variables_info t1
JOIN performance_schema.session_variables t2
ON t2.VARIABLE_NAME=t1.VARIABLE_NAME
WHERE t1.VARIABLE_SOURCE = 'DYNAMIC';

默认变量

变量有其编译的默认值。COMPILED是用于未以任何其他方式设置的变量的值。


SELECT t1.VARIABLE_NAME, VARIABLE_VALUE, VARIABLE_SOURCE
FROM performance_schema.variables_info t1
JOIN performance_schema.global_variables t2
ON t2.VARIABLE_NAME=t1.VARIABLE_NAME
WHERE t1.VARIABLE_SOURCE = 'COMPILED';