解决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

posted @   deepwzh  阅读(1297)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示