mysql,密码正确的情况下报错,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

时间:2022-03-01 20:37:34

关键词 :  mysql密码正确的情况下报错,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) ,远程可以密码可以连接

 

第一次遇到这么奇怪的问题,我先描述下。

我在自己的电脑上运行了nvaicat远程连接腾讯云上的mysql服务器,然后可以连接上。

用secureCRT连接上服务器,运行 # mysql -u root -p  然后输入密码 正确的密码: "12345678",结果提示失败。

mysql,密码正确的情况下报错,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

刚开始的时候我以为是连接工具的问题,尝试了很多连接工具,都是这样。之后我也怀疑密码太特殊了?改了新密码,同样也是自己电脑能访问,linux本地访问不到。

 

回想之前安装的时候,那时候是本地linux能连,但是远程不能连。

当时的解决方案是:

use mysql;

update user set 。。。。 ,把host 改成了 % 

用自己电脑上的navicat 查看mysql.user 表。 

发现有些问题,localhost那栏 后面的权限都是N。

接下来就是解决方法了:

mysql,密码正确的情况下报错,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

 

直接修改名字,我这里是加了temp后缀。然后上linux 重启  # service mysqld restart

再从执行登录操作,输入密码,成功登录。

 mysql,密码正确的情况下报错,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

 

 原理:

出现这种错误的原因我也不知道,百度了都是修改密码解决的。

解决原理的话,我也不清楚,但是我猜测,可能是因为有localhost这个项,没有走 “%” 这项,所以一直没有权限。

如果您有更好的解决方法或者了解出现的原因,请给我留言,谢谢!