连接MySQL时报错:
Can’t connect to MySQL server on localhost (10061)

原因MySQL没有启动:
解决方法,手动去服务中启动,或者在MySQL安装路径bin路径下打开cmd,输入命令

1
net start mysql

一般来说就解决了,我本来也是这么想的,结果发现事情并没有那么简单
于是我记记录下了此处处理过程

接上,输入net start MySQL时报错:

1
2
发生系统错误 3.
系统找不到指定路径

然后我觉得手动启动MySQL,结果发现服务里面的MySQL对应的位置并不是我安装MySQL的位置,
原来是上一位使用者没有把mySQ卸载干净导致的,

先执行以下命令,清除掉之前版本的MySQL:

1
2
3
4
5
sc query mysql

sc delete mysql

sc query mysql

清除完旧版本后服务里面仍然没有MySQL,所以我们需要重新安装MySQL:

1
mysqld -install

然后继续执行MySQL启动命令

1
net start mysql

报错:

1
2
发生系统错误 1058
无法启动服务,原因可能是已被禁用或与其相关联的设备没有启用。

解决方法:移除MySQL服务重新安装

1
2
3
mysqld -nt -remove

mysql --install

再次启动MySQL服务

1
net start mysql

登录MySQL,又又又报错了:

1
ERROR 1045 (28000): Acess denied for user 'root'@'localhost' (useing password: YES)

原因:密码错了。

好家伙,上一位使用者不仅没把MySQL卸载干净,还没用统一的密码

然后我们就需要重新修改密码了,这里就涉及到了在不知道MySQL密码的情况下,直接修改密码的方式:

首先停滞MySQL服务,然后输入以下命令跳过授权表,该命令开启后,登录MySQL就不需要输入密码了:

1
mysqld --skip-grant-tables

然后我们在MySQL的bin路径下,重新打开一个新的cmd

进行修改密码操作

1
mysql #直接输入mysql就行,不用附带任何参数

选择MySQL数据库

1
use mysql;

修改密码:

1
update user set password=password('新的密码') where user='root' and host='localhost';

报错:ERROR 1054 (42S22): Unknown column ‘password’ in ‘fie
原因:MySQL数据库下已经没有password这个字段了

解决方法:将password字段改成authentication_string

1
update mysql.user set authentication_string=password('新的密码') where user='root' ;