文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-09-24 05:48

关注

一、Bug描述

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

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

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

二、定位报错原因

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

三、解决方案汇总

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

步骤1:停止MySQL服务

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

sudo systemctl stop mysql

在Windows上,可以通过服务管理器停止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)无法打开解决方法汇总

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

步骤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的资料请关注编程客栈(www.lsjlt.com)其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯