mysql全局变量和局部变量

有时候我们会用set命令来设置变量的值,但我们却遇到了一些错误信息,即:不能将此变量设置为“值”。

例子:

set global sql_log_bin=0;
就报了如下的错误信息:
mysql> set global sql_log_bin=0;
ERROR 1231 (42000): Variable 'sql_log_bin' can't be set to the value of '0'

官方解释:5.5、5.6、5.7不支持此变量全局设置,会给予警告信息,即上面的信息,到5.7之后,会取消警告信息


到这里我们就要去考虑这是全局变量还是局部变量了
但全局变量和局部变量都是有sql_log_bin

于是自己操作如下:
mysql> set session sql_log_bin=0;
Query OK, 0 rows affected (0.00 sec)


扩展:

  • 13.5.4.21. SHOW VARIABLES语法

  • SHOW [GLOBAL | SESSION] VARIABLES [LIKE 'pattern']

  • SHOW VARIABLES显示了部门MySQL系统变量的值。本信息也可以使用mysqladmin variables命令获得。

  • 使用GLOBAL选项,您可以获得被用于MySQL新连接的值。使用SESSION,您可以得到对于当前连接起效的值。如果您两个选项都不使用,默认值为SESSION。

  • LOCAL是SESSION的同义词。


你可能感兴趣的:(mysql,mysql数据库,mysql变量)