mysql数据库连接空闲超时设置不生效,未区分全局变量及interactive_timeout设置

为了测试数据库超时(默认8小时),需要修改数据库超时时间。但是设置之后发现并没有改变,有两个原因:

第一个就是未区分全局变量和会话变量,设置和查询时带上global查询的是全局变量。

第二个是因为超时时间是interactive_timeout和wait_timeout共同决定的,需要同时修改interactive_timeout

show VARIABLES like '%timeout%' ;
set global interactive_timeout=57600;
set global wait_timeout=57600;
set interactive_timeout=57600;
set wait_timeout=57600;
show VARIABLES like '%timeout%' ;
show global VARIABLES like '%timeout%' ;

这样就可以查看到修改立即生效了,但是数据库如果重启了就会恢复为默认值。要重启后也生效的话需要修改my.cnf或my.ini增加这两个参数的设置值。

[mysqld]
wait_timeout=57600
interactive_timeout=57600

你可能感兴趣的:(性能定位,数据库)