我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

亲爱的小伙伴,是不是你在登录自己的mysql数据库的时候,出现了标题所示的错误的提示呢?不要慌张,不要着急,因为作为一个亲身经历者,不瞒你们说当时我也是慌得一批。不过还好,在查了一堆的资料后,终于将它解决了。接下来我就将我的解决办法分享给大家,希望对当前的你有所帮助,嘻嘻。

一、绕过mysql密码检查机制,忽略权限表,设置无需密码直接登录

1.在你的终端中输入以下指令进入mysql的相关配置目录中

cd /etc/mysql/mysql.conf.d

 此时,可以通过“ls” 指令查看目录中有哪些文件,如果你看到下图箭头所指的mysqld.cnf文件的话,恭喜你,找到它了。

 2.使用vi对mysqld.cnf文件进行编辑,输入以下指令

vi mysqld.cnf 

 3.找到箭头所指的 [mysqld]

按下 i 指令进入编辑模式,在[mysqld]的下边添加上 skip-grant-tables忽略权限表

先按ESC键退出编辑模式,然后输入 :wq 指令保存并退出

重启mysql服务,输入如下指令

service mysql restart

 7. 现在就可以免密登录mysql数据库了,输入如下指令,不用输入密码,然后直接按下回车键,你会发现,你的mysql可以免密登录了

mysql -u root -p

 

 二、修复工作开始

接下来将会分为两种情况

情况一:你只是忘记了自己的数据库密码,而导致的登录失败,那么只需要重新设置密码即可。

情况二:你的root用户被删除了,那么就需要从新创建root用户,再为其设置密码。

之前我就是root用户被删除了,然后我一直去修改密码,结果发现根本没有用,最后不经意间查了一下user表才发现里边没有root用户,突然之间才恍然大悟,哈哈!

在你选择解决方案之前,我建议你先查看自己的root用户是否还存在,再进行相关操作

依次输入以下指令,查看自己的root用户是否存在

use mysql;
select user from user;

看看你的user表中是否有root用户

情况一:root用户存在

这就说明你只是忘记了你的mysql数据库密码了,那么这时候,就只需要输入以下指令,从新设置你的mysql数据库密码就好了

update user set authentication_string=password('你的新密码') where user='root';

 情况二:root用户不存在

 那么,这个时候就需要你从新创建你的root用户,并为其设置密码了

1.创建root用户

create user 'root'@'localhost' identified by '你的密码';

可能它会报如下错误,如果不报错,那就直接跳到给root用户赋予权限那一步

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

 那么你可以执行如下语句

flush privileges;

然后再次创建用户

create user 'root'@'localhost' identified by '你的密码';

如果它还是报错,执行如下代码;如果不报错,那就直接跳到给root用户赋予权限那一步

drop user 'root'@'localhost';

再次创建用户

create user 'root'@'localhost' identified by '你的密码';

结果它没保存,那么创建root用户就成功了!

2.为root用户赋予操作所有表的权限

执行如下语句,为root用户赋予操作所有表的权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

刷新后退出mysql

flush privileges;exit;

3.去取之前在配置文件中添加的 skip-grant-tables,重启mysql服务,即可使用密码登陆成功

使用vi编辑器,编辑mysqld.cnf配置文件

vi mysqld.cnf 

使用 i 指令进入编辑模式,将添加的skip-grant-tables 删除掉后,保存并退出

按下ESC键退出编辑模式,使用 :wq指令保存并退出

重启mysql服务

service mysql restart

 4.重新登录mysql,此时输入如下指令,然后输入你的密码后,即可成功登录你的mysql数据库了

mysql -u root -p

4. 如果使用navicat连接你的mysql数据库的时候出现2059错误,那么你只需要登录mysql,执行以下指令即可。

use mysql;ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';FLUSH PRIVILEGES;

来源地址:https://blog.csdn.net/LLL3189860667/article/details/126545183

免责声明:

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

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

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

遇到这个问题搞了很久,自己记下来。方法是百度的,亲测有效。 ERROR 1045 (28000): Access denied for user ‘ODBC’@‘localhost’ (using password: NO) ERROR 1
2023-08-16

Mysql:ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: NO)如何解决

这篇文章主要介绍“Mysql:ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: NO)如何解决”,在日常操作中,相信很多人在Mysql
2023-06-30

终极解决 mysql8.0 ERROR 1045 (28000): Access denied for user ‘ODBC‘@‘localhost‘ (using password: NO)

当你在Windows系统中,以命令行方式,输入 mysql 后,提示 错误: ERROR 1045 (28000): Access denied for user ‘ODBC’@‘localhost’ (using password: NO
2023-08-17

编程热搜

目录