列出运行时可以修改的所有变量

时间:2019-04-04 15:59:51

标签: mysql variables runtime mysql-variables

是否有任何方法可以获取可以在运行时修改的所有系统变量?我已经使用SHOW VARIABLES进行了测试,但这会返回所有变量,而不仅返回在运行时可以更改的变量。

如果我使用SHOW SESSION VARIABLES,则会收到如下响应:

+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
| Variable_name                                     | Value                                                                                                                  |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+
| auto_increment_increment                          | 1                                                                                                                      |
| auto_increment_offset                             | 1                                                                                                                      |
| autocommit                                        | ON                                                                                                                     |
| automatic_sp_privileges                           | ON                                                                                                                     |
| back_log                                          | 50                                                                                                                     |
| basedir                                           | /usr                                                                                                                   |
| big_tables                                        | OFF                                                                                                                    |
| binlog_cache_size                                 | 32768                                                                                                                  |
| binlog_direct_non_transactional_updates           | OFF                                                                                                                    |
| binlog_format                                     | STATEMENT                                                                                                              |
| binlog_stmt_cache_size                            | 32768                                                                                                                  |

上面的代码返回basedir之类的变量,这些变量在运行时无法设置。

1 个答案:

答案 0 :(得分:0)

您可以将SHOW VARIABLESSESSION范围修饰符一起使用。

EG:SHOW SESSION VARIABLES

  

SHOW VARIABLES接受可选的GLOBAL或SESSION变量范围   修饰符:

     

使用GLOBAL修饰符,该语句显示全局系统变量   价值观。这些是用于初始化对应的值   会话变量,用于与MySQL的新连接。如果变量没有   全局值,不显示任何值。

     

使用SESSION修饰符,该语句显示系统变量   当前连接有效的值。如果一个变量   没有会话值,则显示全局值。本地是一个   SESSION的同义词。

https://dev.mysql.com/doc/refman/8.0/en/show-variables.html