记一次MySQL报错

2022-08-01 09:57:29 浏览数 (1)

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

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

代码语言:javascript复制
net start mysql

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

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

代码语言:javascript复制
发生系统错误 3.
系统找不到指定路径

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

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

代码语言:javascript复制
sc query mysql

sc delete mysql

sc query mysql

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

代码语言:javascript复制
mysqld -install

然后继续执行MySQL启动命令

代码语言:javascript复制
net start mysql

报错:

代码语言:javascript复制
发生系统错误 1058
无法启动服务,原因可能是已被禁用或与其相关联的设备没有启用。

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

代码语言:javascript复制
mysqld -nt -remove

mysql --install

再次启动MySQL服务

代码语言:javascript复制
net start mysql

登录MySQL,又又又报错了:

代码语言:javascript复制
ERROR 1045 (28000): Acess denied for user 'root'@'localhost' (useing password: YES)

原因:密码错了。

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

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

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

代码语言:javascript复制
mysqld --skip-grant-tables

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

进行修改密码操作

代码语言:javascript复制
mysql #直接输入mysql就行,不用附带任何参数

选择MySQL数据库

代码语言:javascript复制
use mysql;

修改密码:

代码语言:javascript复制
update user set password=password('新的密码') where user='root' and host='localhost';

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

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

代码语言:javascript复制
update mysql.user set authentication_string=password('新的密码') where user='root' ;

后记

MySQL报以下错误:

代码语言:javascript复制
服务名无效。

原因:MySQL未安装

建议直接重装,一劳永逸,如果MySQL已经安装了,但是还是报这个错的话,可以执行以下命令,安装MySQL:

代码语言:javascript复制
mysql --install

然后启动MySQL:

代码语言:javascript复制
net start mysql

0 人点赞