20181022|一次数据库(MySQL)拒绝连接导致的网站(Tomcat)故障

【注意】最后更新于 November 1, 2018,文中内容可能已过时,请谨慎使用。

中午接到反馈,某个web出现了打不开的状况。

自己打开试一下,果然不行。

浏览器F12调试发现反向代理的nginx报了404的响应头,这说明另一台主机上被代理的Tomcat应该是还在运行的,否则nginx就会报502了。

直接访问被反向代理的主机试一下,返回的状态码还是404。

看一下tomcat的stdout日志,这一堆报错可把我这个java业余人士愁的头都大了。不过看起来似乎是在报jdbc超时,初步怀疑数据库出了问题。

不过我觉得数据库不大可能出问题,毕竟在同一个实例里面的其他项目都还正常运行。

再看下tomcat的站点日志,日志里面提到了quartz-task.xml这么一个文件。

打开看看,这个文件居然是数据库调取器的配置文件之类的东西。

得了,那就在这台主机上连接一下数据库试试吧。

还真别说,使用navicat连接的时候报了1129这个错误,这台主机出现了太多的连接错误所以被主机给block了。

按照提示在数据库主机执行mysqladmin flush-hosts

然后重启tomcat。

再次访问网站,成功打开。

 

也可以看看