解决mysql密码正确的情况下而无法连接的问题
问题描述
这段时间使用Java连接mysql的时候时不时出现无法连接的情况。
我再三核对了账号密码数据库名,发现都没有错误。
问题分析
进行了以下尝试:
1取消password字段进行连接,发现提示连接错误,但提示我使用了密码
2更改成端口号进行连接,提示连接不到服务;当我关掉mysqld服务,并把代码中端口号改回3306,发现依然提示连接不到服务
推测可能是3306上有两个mysql服务
问题解决
事先关闭mysql服务
netstat命令可以查看端口占用情况,其中
netstat -a -n #显示各个端口占用
netstat -ano #显示各个端口占用和进程PID
开始--运行--cmd 确定或回车进入命令提示符窗口,键入netstat -ano 即可看到所有连接的端口占用情况及PID,然后在任务管理器中找到这个PID所对应的程序,如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"-"PID"前打上对勾。
也可以用以下办法确定是那个程序占用了端口。
进入命令提示符然后键入netstat -aon|findstr "3306"(例如我要查看3306端口是被那个应用程序占着)
C:Documents and SettingsAdministrator>netstat -aon|findstr "3306"
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 2000
C:Documents and SettingsAdministrator>tasklist|findstr "2000"
mysqld-nt.exe 252 Console 0 17,820 K
由此可以看出是mysqld-nt.exe占用着3306端口。
找到占用的进程后,便可以通过任务管理器,找到对应名字,右键选择打开所在位置,设法删除改名卸载都可以。
参考资料
1.https://blog.csdn.net/hxbunulidehaizhi/article/details/50500645
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库