经历4天4夜解决10月1项目上线遇到的一个Mysql大坑,导致项目无法正常访问
- 一、问题重现
- 二、排查问题
- 三、解决问题
- 四、关于Mysql这两个参数的作用以及解释
- 五、总结
标题是不是惊讶到你了,但是确实是一个大坑,特此记录下来,方便他人查阅。
标题虽然夸张了,但是问题确实真真实实的。
一、问题重现
由于工作室的几个团队需要发布项目,参加比赛。
正好都挤在了最后2天,时间也比较紧张。
由于学弟学妹们对项目在服务器上的部署过程并不是太熟悉,又恰巧我对这方面还略知一二,还因为我有一台比学生机配置稍微高一点的阿里云服务器(几年前阿里云搞活动花了我好几千买的几年的,心痛啊)。
他们都需要提交作品的url,和演示PPT、演示视频等材料。
url是必须要写在PPT里的,所以他们就比较着急呀,我的服务器是Linux的,我玩的可能比较6,但是学弟学妹们可能就不太行了。
但是我当时也没办法帮他们部署到服务器,因为我当时还在上班。我就把Linux服务器的磁盘给初始化调,然后给他们安装了一个windows 2008 R2的服务器。
并且指出来了一个很好的部署方法:
配置的和开发环境一样就行了,直接启动idea。
这种虽然不是正规的部署方法,但是对于他们是很有效的。
三个项目:
但是项目每过一段时间就会出现问题,错误如下:
三、解决问题
修改配置文件呗;把相关的这两条修改一下。
可以通过set命令来暂时修改:
但是如果重启的话,就会恢复过来默认的。
那么就需要修改配置文件了:
修改之后需要重新启动Mysql服务。
就是永久的了。
至此问题解决了。
四、关于Mysql这两个参数的作用以及解释
可以打开Mysql的官方手册:
https://dev.mysql.com/doc/refman/5.7/en
然后找到Mysql的系统变量说明:
- wait_timeout
官方解释:
The number of seconds the server waits for activity on an interactive connection before closing it.
An interactive client is defined as a client that uses the CLIENT_INTERACTIVE option to mysql_real_connect(). See also wait_timeout.
服务器关闭非交互连接之前等待活动的秒数。
在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义),又见interactive_timeout
五、总结
其实这就很奇怪的,Mysql的默认值是28800,为什么我查询到的默认值是120呢/p>
通过查看学弟安装的Mysql我才知道,他是为了省事,直接安装的下面这个软件;

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91499 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!