在某次面试中有被问到一条:
项目中遇到印象最深刻的bug是什么,怎么解决的
当时极其懵逼,对我这种菜鸟来说遇到的bug多了去了,但是百度到的下次就忘了
so——缺陷描述,复盘缺陷,解决缺陷
正好遇到数据库第二次出相同的问题了,记录一下
故障:
Access denied for user ‘root’ @ ‘localhost’ (using password:YES)
首先排除本身密码问题
mysql -uroot -p
成功进入mysql,说明不需要改密码 (进不去就去找mysql.ini加个skip 再免密登录,修改密码)
错误推测:问题在于mysql服务 mysqld.exe
上
cmd 以管理员身份运行
如果不以管理员身份运行会出现如下错误
net stop mysql发生系统错误 5。拒绝访问。
net stop mysql
成功停止
net start mysql
成功启动
tasklist | finstr "mysql"
有两个mysql.exe 一个pid是4588 另一个pid是9808
所以,推测正确,多了一个mysqld.exe
进程,等会也可以验证
net stop mysql
成功停止
tasklist | finstr "mysql"
停止mysql服务后还剩一个进程 pid4588
所以,杀进程
taskkill /f /t /im mysqld.exe
再启动mysql服务
net start mysql
成功启动
再次查看mysql进程 pid 9502
结果:成功连接,问题解决