MySQL提示Can't connect to MySQL server on 'localhost' (10061)和Install/Remove of the Service Denied的解决

MySQL报错Can’t connect to MySQL server on ‘localhost’ (10061)等问题的解决办法

今天把数据库卸载安装了一下,遇到了如下问题,网上看了很多解决方法,但是诸多不顺,问题一个接一个。。。。。。最后,将我自己解决这些问题的一点点经验做个分类总结,希望遇到这些问题的小伙伴们,能够快速、准确的分辨问题是哪方面原因,将之解决,不浪费宝贵的时间。。。。。。

本文安装的环境是Windows10 64位 ,MySQL的版本是MySQL 5.7

一、首先,将报错的提示简单按类列出

1. mysql:[错误]未知选项
  • mysql: [ERROR] unknown option ‘–install’
2. 系统服务无法连接、不存在、开放失败
  • ERROR 2003 (HY000):Can’t connect to MySQL server on ‘localhost’ (10061)
  • [SC] OpenService 失败 1060: 指定的服务未安装。
  • The service doesn’t exist !
  • 在《控制面板》—>《管理工具》—>《服务》,找不到MySQL
  • 服务名无效。 请键入 NET HELPMSG 2185 以获得更多的帮助。
3. 拒绝安装、删除、访问服务
  • Install/Remove of the Service Denied!
  • 发生系统错误 5。 拒绝访问。
前提:先将MySQL的环境变量配置一下

右键【我的电脑】,点击【属性】,点左边的【高级系统设置】,下面的【环境变量】,在找到 path 编辑加上自己MySQL的位置就好了,也可以用 MYSQL_HOME。。。。(跑题了),现在讲错误

二、解决方法:

下面的过程,按照从一开始为什么会遇到这个问题,到后面将遇到的问题全部解决的思路走(以下命令测试都是在MySQL下面的bin目录进行的)

1.【错误】未知选项

mysql:[错误]未知选项,看下命令写错没有,不多讲,比如:

2. 服务器无法连接、不存在、开放失败等情况

将前面的的数据库卸载后,在官网下载了个5.7版本的MySQL 5.7(听说比较经典),在解压完,配了个环境变量之后,在命令行窗口CMD输入启动MySQL命令 net start mysql , 结果。。。

服务名无效?既然命令行不能启动,那就去【服务】里面去打开吧,进去一找。。。嗯。。。MySQL不见了

然后该怎么办呢?。。。要不然试了下直接登录?看会出啥东西,输入 mysql -u root -p ,再输入密码:

呃,报错了,Can’t connect to MySQL server on ‘localhost’ (10061) ,无法连接上MySQL服务,居然是无法连接上服务,和系统服务有关,难道是我的MySQL没有注册系统服务?所以不存在?来注册试试输入 mysql --install

这一大串东西是啥?也没见它出注册成功哪,那应该就是注册出错了,是系统服务没安装好还是前面卸载没有卸载干净呢?。。。如果是没卸载干净的话,可能有残留,影响了,那试一下删了重新再注册一下,输入删除服务指令 mysql --remove

拒绝 安装/删除服务?难道是这个删除指令不行?貌似还有另外一个删除指令 sc delete mysql ,试试:

也不行,提示的是:指定的服务未安装。那么也就是说这个系统服务确实没有安装,但是之前输入 mysql --install注册指令的时候也没成功。。。而且前面删除还提示 拒绝 安装/删除服务 。。。那么可能是和权限有关,我权限不够所以被拒绝了?来。。。氪金试试,提升我的等级(开启管理员权限):

3. 拒绝安装、删除、访问服务之类的,和权限有关的

开启带有管理员权限的命令行后,接着试下注册系统服务,在此之前,我进行 mysql --remove 删除下确保没有,再输入指令 mysql --install

删除指令提示:The service doesn’t exist ! (权限高了提示都不一样,本来是拒绝的。。。果然和权限有点关系,也可以确定是系统服务是没有的),在确定了系统服务不存在,又和权限相关后,现在有管理员权限,进行注册后,果然成功了。。。。。。
注册成功之后,初始化设置一下用户名和密码,输入初始化指令 mysql --initialize --user=root --console

这样,MySQL数据库的用户名就是 root 了,密码就是root@localhost:后面的字符 .ukW_Lq7cono ,这个密码貌似不太友好,还是改下好记些,开启数据库 net start mysql

登录数据库 mysql -u root -p .ukW_Lq7cono

在登录成功之后,输入修改密码指令 set password = password(‘root’);

这样,账号和密码就都成功的修改成 root 了!使用命令行可以进行登录操作数据库,去其他地方。。。看看是否都没问题了

控制面板里面的服务里,出现里MySQL,现在回过头来看,之前这里没有MySQL的原因,估计就是系统服务没注册了

使用SQLyog连接也没问题了。。。大功告成!
最后提醒下,在命令行进行 net start mysql 或者 net stop mysql 时,要在管理员权限下进行,否则。。。

前面说了如何在管理员权限下运行 cmd 这里就不说了,这个会出现 系统错误 5 拒绝访问。的原因就是权限不够,解决如下:

这样,就可以在命令行进行开启关闭等操作了。。。

三、简单小结:

在重装完数据库,或者平时使用时,遇到报错信息,先看报错信息是哪一类型的,是命令写错了?还是和系统服务有关的,或者是和权限相关的?

  1. 系统服务相关的错误,基本上都会出现 service 这个词,这时候,可以尝试重新注册下系统服务:先删除 mysql --remove 再进行注册 mysql --install
  2. 如果出现拒绝删除/访问服务,就是权限不够开管理员权限,再进行操作,很多出现拒绝的提示,都可以尝试下,看是不是权限不够

小秘诀:在了解了这些报错的原因之后,当遇到数据库忘记用户名密码之类的,也是可以进行前面的操作来完成用户名和密码的修改!(数据库重装,之前的没卸载干净,用户名和密码是默认之前的

发布了5 篇原创文章 · 获赞 7 · 访问量 189

猜你喜欢

转载自blog.csdn.net/tanghaixu/article/details/105568509
今日推荐