最近遇到过头疼的问题,项目在本地运行是没问题的,但是项目部署到服务器经常运行一段时间,mysql就链接不上,重启后就好了 一段时间又不行,最后发现是mysql 数据默认设置了8小时不链接,就自动断开了。修改下mysql的默认设置就OK了,希望对大家有用所以分享出来。
1、输入下一命令:
show variables like '%timeout%';
+-----------------------------+----------+
| Variable_name | Value |
+-----------------------------+----------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| have_statement_timeout | YES |
| innodb_flush_log_at_timeout | 1 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| lock_wait_timeout | 31536000 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| rpl_stop_slave_timeout | 31536000 |
| slave_net_timeout | 60 |
| wait_timeout | 28800 |
+-----------------------------+----------+
找到interactive_timeout、wait_timeout参数,可以看到mysql 默认设置了这两个参数是28800(8小时),我们
只要把这两个参数的值修改大一些就好了。
2、解决办法
set interactive_timeout= 31536000; // 一年
set wait_timeout=31536000;// 一年