无法在Mysql上设置全局变量

时间:2013-11-21 02:05:49

标签: mysql global-variables

我在localhost中使用Mysql(在ubuntu和windows中)。我想设置一个全局变量,我已经尝试过所有方法,但即使我从mysql收到“ok”消息,那么当我执行“select @var”时,它总是说“NULL”。 我试过了:

set global var=17;
set @global.var=17;
set @@var=17;

任何人都可以帮助我吗?

提前致谢。

ps:我有SUPER特权。

2 个答案:

答案 0 :(得分:9)

变量名var未引用有效的系统变量。 GLOBAL语句中的SESSIONSET关键字用于在设置MySQL系统变量时指定范围,而不是MySQL用户变量。

试着举例:

SELECT @@global.net_read_timeout ;

SET GLOBAL net_read_timeout = 45 ;

SELECT @@global.net_read_timeout ;

http://dev.mysql.com/doc/refman/5.5/en/set-statement.html

答案 1 :(得分:1)

根据MySQL 5.0 Reference Manual

  

用户定义的变量是特定于会话的。也就是说,一个用户变量   由一个客户端定义的其他客户端无法查看或使用。所有   在此时,将自动释放给定客户端会话的变量   客户退出。

您可以考虑使用MySQL Global User Variables UDF之类的扩展来使用全局(持久共享)变量。