暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

一次诡异的MySQL问题处理故事

原创 薛晓刚 2021-09-02
173

某天一个开发在网上找我说他的应用连不上数据库了。我问他什么现象,他反馈说tomcat那里显示报错,无法连接数据库(这是翻译成中文的)原文不贴了。

我当时第一反应是去验证一下,让其他人去连一下数据库。让开发去telnet一下数据库。

结果是开发说telnet不通,其他人说数据库可以连接。

见鬼啊,这个应用看IP和数据库是同网段,不应该有防火墙的限制。但是的的确确不通。

那数据库这里有人反馈可以连接,还是我自己去看看吧。看看运行状态。如下图:

image.png图片

看上去数据库没有启动。有点奇怪。那么我们重启一下数据库,先解决问题再说。即使是正式环境也是这样。重启命令过后还是这样。

开发反映不通,运维反应数据库可以连接。

不得不说有点没方向,看了一下服务器运行了快1000天,难道说Linux的问题?不过我见过十几年没重启的也能用。

艰难的建议他决定重启服务器吧。先试试。服务器马上启动好了。

ps 一下数据库进程。这次彻底凉了,连上图的失败信息都没有了。毕竟正式环境,瞬间压力来了。毕竟这个是我建议他做的。

看看配置文件吧,难道说找不到数据目录,数据库应该是和操作系统的后台一起启动的。没启动一定是什么配置失败了。

find / -name my.cnf 结果是没有。惊呆了,不管是什么版本,不管是什么路径这个参数名字是一定的。我全盘都没找到,难怪起不来了。这就是问题,数据库的参数文件没有了,为什么?怎么办?这种也是第一次遇到。安静几秒,在默认路径再找找,看看有什么发现。

这次让他们找到了一个my.cnf.rpmsave,眼前一亮。从名字看是RPM+SAVE作为后缀。这个我知道,一般是在一个已经有数据库服务器上再次rpm安装这样之前的配置文件就被改成这个了。但是一般这样的情况下,会有一个 my.cnf。现在奇怪的是没有。既然知道这个了,那我先改名字,保证能重启。

一切意料之中,一次启动成功,运维表示可能连接使用。开发这个时候也查到了,就是网络问题。他用另外一个应用服务器telnet数据库端口可以,他原来的应用服务器telnet数据库端口不行。

故障解决了,问题也知道了。也不知道是谁当年留的坑,只是这个机器一直没重启,一旦重启就是问题。而谁在运行过程中又安装了一次数据库,而且参数文件不见了,就不得而知了。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论