当遇到MySQL ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)报错时的一种应对

当遇到 MySQL 登录时,报错:

ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using
password: YES)

的一种应对方法,
这个时候需要先去查看MySQL服务是否出现了问题,
打开Windows服务窗口,在其中找到关于MySQL的服务,
在这里插入图片描述

可以看到,这里存在2个MySQL服务,正在运行的MySQL服务是 MySQL ,另一个MySQL服务 MySQL80 服务处于停止状态,
因为当前登录 MySQL 的时候遇到了错误提示,这说明当前“正在运行”的MySQL服务一定是错误的,所以先关闭它,这时再尝试登录MySQL,会出现新的错误提示:

ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost:3306’ (10061)

这表示,当前没有MySQL服务是运行的,所以无法连接到MySQL数据库,
接下来,启动另一个MySQL服务 MySQL80
在这里插入图片描述
可以看到,名为MySQL 的MySQL服务已被关闭停止,而叫MySQL80的MySQL服务是正在运行的,
此时再去登录MySQL数据库,顺利连接进入,没有错误。
其中的原因是,曾经安装了多个MySQL数据库,每个数据库都有自己对应的MySQL服务,也就是存在多个MySQL服务,启动的MySQL服务如果不是你要登录的MySQL数据库对应的MySQL服务,登录时就会报错。还有一种情况,你只安装了一个MySQL数据库,之前的调试和登录都没问题,但用了几天发现登录时报错,这种情况下,是你安装MySQL数据库的时候,系统分配的MySQL服务的服务名称不是MySQL而是其他的名字,比如,下图中两个MySQL服务一个名字叫MySQL80,一个叫MySQL,
在这里插入图片描述
在安装MySQL数据库的时候,系统给分配的MySQL服务名称是:MySQL80,数据库是可以正常连接和使用的,但是该数据库用了大概一个星期左右的时候,MySQL又生成了一个新的服务,服务名叫:MySQL,这时新生成的名叫MySQL的服务被MySQL设置成正在运行状态,同时关闭停止了原来一直正常运行的MySQL80服务,这时再登录MySQL数据库就会报错。
总结:当遇到了> ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using
password: YES) 这种错误的时候,第一时间去检查MySQL服务,看看正在运行的MySQL服务是不是自己要登录的MySQL数据库所对应的MySQL服务,如果不知道对应关系,就挨个关停,直到试出自己要登录的MySQL数据库应该对应哪个MySQL服务。

postscript:
在这里插入图片描述
其实,通过存在的MySQL服务的属性中可以确定哪个服务是你要登录数据库的对应MySQL服务,MySQL服务属性中可执行文件的路径里如果有--defaults-file=,就说明这个服务是你要登陆的MySQL数据库的正确服务,启动它同时停止其他的MySQL服务就对了。

September12th2024Wednesday

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值