MySQL8.0报错Can't connect to MySQL server on 'localhost' (10061)的解决办法
事情的起因
今天课堂上要展示小组项目,需要用一个软件叫WPS-Interactive来投屏,我打开后发现不好使。
所以我就卸载了准备重新下载一个。
在卸载的时候360管家提醒:“注册表中有残留文件是否清除”,我的手快于大脑,“开心的”点了确定。
然后我的IDEA就连不上数据库了。然鹅我们组马上就要展示,我强压住心中燥火,正常的和小伙伴们继续展示项目(用另一位同学电脑)。然后下课回到宿舍以后我就和我的mysql开始了漫长的斗争。
解决的心路历程
1: 一开始,找到的是这种博客(其实可以解决常规问题,可能是我不太常规o(╥﹏╥)o)重启MYSQL80,但是这种对我而言一点用都没有,结果就是直接闪退。
2: 然后我就继续摸索,猜测是不是删掉了注册表里面的文件或者是修改了mysql安装路径。
参考了这两篇博客注册表问题and看下面图吧,我找不到那个博客了后还是没解决。搞注册表也能给人搞吐,搜索速度真的一言难尽···【windows+R】——>【regedit】——>【运行】——>【搜索C:\Program Files (x86)\MySQL\MySQL Server 8.0\bin】
3: 于是,继续找寻办法。看到了一篇救我于水火之中的博客,就是它mysql提示Can't connect to MySQL server on localhost (10061)解决方法
这个博客前面没有特别详细,所以我补充一点内容。首先要用管理员权限运行cmd。方法如下图:
用第一个方法其实就可以了。
然后跟着做其他的几个步骤,都挺顺利(遇到了一点小问题,继续看)。
4: 做的时候在第四步初始化密码以后(root@localhost后的文字为初始化后的root密码)进行第六步一直报错,意思是我输的密码不对。系统默认给我的密码是<nZeHwNlU4Rg,我一直不明白为啥报错,然后慢慢慢慢,我发现了问题。大家觉得<nZeHwNlU4Rg中这个字母是什么?不是阿拉伯数字1,也不是大写英文I,谁能想到,谁能想到,人家是小写的字母l(hijklmn中的l)呢!!!!!!好的,你厉害!我们继续。
5: 进行第七步的时候也是一直不可以,我查了半天,报的错意思是【我输入的sql语句错误,You must reset your password using ALTER USER statement before executing thi···】,后来找到了【mysql】You must reset your password using ALTER USER statement before executing this statement报错处理才知道MySQL版本5.7.6版本前后用的命令是不一样的。于是悬崖勒马,用5.7.6版本后的语句试了一下发觉可以了,然后再用了Mysql8.0版本修改密码命令行(windows)中的sql语句,成功搞定了。
6:最后,期待满分的打开我的mysql workbench,果然没有NO CONNECTION了,感动!!!
对于这件事情的看法
朋友们,这件事情告诉我们,千万不要瞎删除!也不要轻易玩弄MySQL,~除非您是大佬,坏了也没关系的那种~,出现问题不要慌,即使自己很害怕很弱也要试着去解决,万一成功了呢,你看是不是还产生出一篇博客【尴尬】。