当前位置: 代码网 > it编程>数据库>Mysql > MySQL登录时出现ERROR 1045: Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开解决方法汇总

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

2024年09月23日 Mysql 我要评论
一、bug描述mysql在使用过程中,可能会遇到登录问题,比如常见的错误信息:“access denied for user ‘root’@‘local

一、bug描述

mysql在使用过程中,可能会遇到登录问题,比如常见的错误信息:“access denied for user ‘root’@‘localhost’ (using password: yes)”。

本文将分析这个问题的可能原因,并提供一系列解决方案。

在这里插入图片描述

二、定位报错原因

出现这个access denied问题的原因有如下可能:

  • mysql的服务器停止了。
  • 用户的端口号或者ip导致拒绝访问。
  • mysql的配置文件错误(通常是my.cnf或my.ini)。
  • root用户的密码错误。
  • 权限问题:用户可能没有足够的权限登录。

三、解决方案汇总

方案一:重设密码(建议忘记密码才使用这个方案)

步骤1:停止mysql服务

在linux上,可以使用以下命令:

sudo systemctl stop mysql

在windows上,可以通过服务管理器停止mysql服务。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

步骤2:以无密码模式启动mysql

在linux上,使用以下命令:

sudo mysqld_safe --skip-grant-tables &

如果是windows系统。

使用vi /etc/my.cnf,添加到【mysqld】后面

skip-grant-tables

重启mysql服务

systemctl restart mysqld 

创建一个免密码登录的用户

use mysql  #选择数据库

update user set authentication_string=password("123456") where user="root";  #修改密码

步骤3:连接mysql

使用以下命令连接到mysql服务器:

mysql -u root

步骤4:设置新密码

在mysql命令行中,执行以下命令来设置新密码:

flush privileges;
alter user 'root'@'localhost' identified by '新密码';

步骤5:重启mysql服务

在linux上,使用以下命令:

sudo systemctl start mysql

windows上,使用命令

net start mysql

方案二:检查用户权限

确保root用户具有从localhost登录的权限。可以使用以下命令查看权限:

show grants for 'root'@'localhost';

如果权限不正确,可以使用以下命令授予所有权限:

grant all privileges on *.* to 'root'@'localhost' with grant option;
flush privileges;

方案三:修改配置文件(推荐)

检查mysql的配置文件,确保没有错误的配置阻止了登录。

常见的配置文件路径为/etc/mysql/my.cnf或/etc/my.cnf 或者 d:\program files\mysql\mysql server 5.0\my.ini)

在[mysqld]这个条目下加入

skip-grant-tables 

保存退出后重启mysql即可。

这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现 password:的时候直接回车可以进入,不会出现error 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。

我们接下来设置密码就可以了

mysql> use mysql;
mysql> update user set password=password("新密码") where user="root";

然后刷新数据库。

mysql> flush privileges;
query ok, 0 rows affected (0.00 sec)  
mysql> quit;

总结

以上就是mysql登录时出现error 1045: access denied for user ‘root‘@‘localhost‘ (using password: yes)无法打开解决方法汇总的详细内容,更多关于mysql error 1045的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com