我在localhost中使用Mysql(在ubuntu和windows中)。我想设置一个全局变量,我已经尝试过所有方法,但即使我从mysql收到“ok”消息,那么当我执行“select @var”时,它总是说“NULL”。 我试过了:
set global var=17;
set @global.var=17;
set @@var=17;
任何人都可以帮助我吗?
提前致谢。
ps:我有SUPER特权。
答案 0 :(得分:9)
变量名var
未引用有效的系统变量。 GLOBAL
语句中的SESSION
和SET
关键字用于在设置MySQL系统变量时指定范围,而不是MySQL用户变量。
试着举例:
SELECT @@global.net_read_timeout ;
SET GLOBAL net_read_timeout = 45 ;
SELECT @@global.net_read_timeout ;
答案 1 :(得分:1)
用户定义的变量是特定于会话的。也就是说,一个用户变量 由一个客户端定义的其他客户端无法查看或使用。所有 在此时,将自动释放给定客户端会话的变量 客户退出。
您可以考虑使用MySQL Global User Variables UDF之类的扩展来使用全局(持久共享)变量。