MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的解决

1,026 阅读2分钟

本文已参与「新人创作礼」活动.一起开启掘金创作之路。

本人配置:系统64位win10,MySQL8.0.16

错误 :ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

在这里插入图片描述 从上面这段英文的意思来看,可以这样分析,第一:Access denied(拒绝访问);第二:using password:NO/YES。这里这个using password 的是是否输入了密码,输入了就表示YES,没有就输出NO。 在这里插入图片描述在这里插入图片描述 根据网上查了很多资料,出现Access denied的原因有如下可能:

(1)MySQL的服务器停止了

(2)用户的端口号或者IP导致拒绝访问

(3)MySQL的配置文件错误(my.ini等文件)

(4)root用户的密码错误

解决方案:

(1)重启MySQL服务器:net start mysql

在这里插入图片描述

(2)若用户的端口号与IP(3306/3307)不一致,打开my.ini文件进行编辑。全部编辑替换为: port=X

(3)若my.ini文件配置错误,可以参考以下文章,该文件已对my.ini文件进行了解释和注释。文章链接.

(4)密码错误的话,这里有两种解决方法 第一种:打之前安装MySQL的路径下data文件。然后用记事本打开以.err为后缀的文件。 在这里插入图片描述 在这里插入图片描述 知道密码之后再重新登录就可以了。若在err文件找不到密码或者还是登录错误的话,可以试一下第二种方法。

第二种:用--init-file参数在服务启动时加载并运行修改密码的命令文件,该命令一旦执行,服务启动后密码即已经清除或者重置,启动服务后即可以空密码或指定密码登入。

第一步:先关掉服务器:

在这里插入图片描述

第二步:创建一个文本文件,内含一条密码修改命令。我是在安装MySQL的目录下创建的。

在这里插入图片描述 在这里插入图片描述

第三步:命令行方式启动服务器,指定启动时执行上述的密码修改命令文件。

mysqld --init-file=Q:\MySQL\mysql-8.0.16-winx64\mysqlc.txt --console 在这里插入图片描述

接着重启服务器:

在这里插入图片描述

然后用刚刚改过的密码输入就可以了。

在这里插入图片描述

以上本人所用到的解决方法了,希望能帮到大家,谢谢各位赏脸观看。