记一次bug排查(.exe链接mysql失败)-每天学习一点点

哎! 从来没有接手过的项目, .exe项目, 链接服务器失败 报错:"unable to connect to any of the specified mySQL hosts"

虽然不懂c++的代码, 也没法反编译.exe项目, 还是像挑战尝试一下解决这个问题.

明面看就是链接mysql失败. 但是mysql对应的服务器地址是啥呢?

方案1: 检查自己常用的mysql服务器是否异常

用自己的navicat等软件, 链接一下自己的测试库,压测库,线上从库,等各种自己能链接的数据库, 快速定位看看哪个服务器宕机了.

哎! 查找失败,估计是一个我从来没有链接过的数据库.

方案2: 查找配置文件

给了一个.exe 对应的文件夹目录里面还有很多其它的文件, 我来看看有没有mysql相关链接的.

哎! 查找失败, 估计是.exe文件里面写死的不是从外部配置文件中引入的.解包太费事,搁置一下.

方案3: 使用 Process Monitor 监控连接请求

还有这么好用的工具, 之前怎么不知道.

开启监控, 过滤我的项目名称, 哎! 咋还没有TCP链接呢?

哎! 查找失败, 不明原因导致监控连接不能正常监控到我的这个项目的TCP链接.

方案4: 使用python+netstat扫描

python 复制代码
import os
while True:
    os.system("netstat -ano | findstr 3306") 

运行起来了, 一看, 哇好多链接啊! 我来甄别一下哪个是我需要的。 咦! 怎么这么多熟悉的, 这个是测试,这个是压测, 这个是线上从库。嗷呜! 我的navicat忘了关了, 麻蛋。

关了之后, 额, 一个3306的端口也没有了。

哎!查找失败, 应该是我的端口盲猜3306的不准确。继续盲猜更多端口性价比低,暂且搁置。

方案5: 使用 Wireshark 抓包分析

专业的事交给专业的"软件"来干。下载安装,无脑下一步,啊! 咋我的电脑在重启, 我的文档还都没有保存呢!我日。。。哎! 心疼自己三分钟。 (吸取教训,安装软件最后一定要看看是否重启电脑)

电脑重启了,关闭自动启动起来的软件,减少其它软件影响,方便分析问题。

好开启我的监听软件。开启我的异常.exe软件。

按照Protocol排序,TCP一共这么几个, 纯黑纯黑的里面我看到了一个端口3307, 3306的孪生兄弟.估计是服务器端口3306被其它mysql占用了,所以用的3307,

ps:端口有了,服务器ip有了,发给运维的小伙伴, 重启一下服务。验证ok,收工回家。

问了一下运维为啥关停,原来是之前中病毒了, 安全组给禁了。

相关推荐
紫璨月4 小时前
rabbitMQ读取不到ThreadLocal消息的bug
rabbitmq·bug·java-rabbitmq
zzc9212 天前
Adobe Illustrator设置的颜色和显示的颜色不对应问题
adobe·bug·illustrator·错误·配色·透明度·底色
开-悟4 天前
嵌入式编程-使用AI查找BUG的启发
c语言·人工智能·嵌入式硬件·bug
一入JAVA毁终身4 天前
Data的时区格式BUG
bug
一入JAVA毁终身5 天前
处理Lombok的一个小BUG
java·开发语言·bug
SeaTunnel5 天前
SeaTunnel 社区月报(5-6 月):全新功能上线、Bug 大扫除、Merge 之星是谁?
大数据·开源·bug·数据集成·seatunnel
紫璨月5 天前
nginx反向代理的bug
运维·nginx·bug
从后端到QT5 天前
SRS流媒体服务器之本地测试rtc推流bug
bug·实时音视频
Java知识库16 天前
MySQL RC隔离级别惊现间隙锁:是bug吗?
数据库·mysql·bug
安卓机器16 天前
rom定制系列------红米note11 5G版 MTK芯片强解bl锁修复bug 官方系统 面具root批量线刷版
5g·bug