首先打开你的MySql控制台,输入密码后进入
接着敲入命令来悄一悄为什么会超时
SQL Code复制内容到剪贴板
- show global variables like 'wait_timeout';
这里我们可以看到wait_timeout为28800,就是8小时。那么就是说MySQL的服务会在操作间隔8小时后断开,需要再次重连。当我们用java程序的JDBC来连接时又可以让它自动恢复。
interactive_timeout:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。又见wait_timeout
wait_timeout:服务器关闭非交互连接之前等待活动的秒数。在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义),又见interactive_timeout
如此看来,两个变量是共同控制的,那么都必须对他们进行修改了。继续深入这两个变量wait_timeout的取值范围是1-2147483(Windows),1-31536000(linux),interactive_time取值随wait_timeout变动,它们的默认值都是28800。
MySQL的系统变量由配置文件控制,当配置文件中不配置时,系统使用默认值,这个28800就是默认值。要修改就只能在配置文件里修改。Windows下在%MySQL HOME%下有my.ini配置文件,打开后添加如下的一句话。(这里修改为388000)
保存退出,重启mysql服务,一定是重启系统服务。便可看到修改结果:
Linux系统下的配置文件为/etc/my.cnf。(同上操作)