Linux MySQL修改密码时 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

本文介绍了一种解决方法,当遇到使用默认root用户登录MySQL时出现的权限拒绝错误(ERROR1045)。通过一系列步骤,包括修改MySQL配置文件、绕过密码验证、更新root用户密码,并最终恢复正常配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天安装mysql,然后输入mysql -u root -p,出现enter password,我直接点击回车,结果出现如果下错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)。

解决方法:

#1.停止mysql数据库
[root@wdsx]# service mysqld stop

#2.找到MySQL的配置文件my.cnf
[root@wdsx]# vi /etc/my.cnf

#3.在my.cnf里添加:
skip-grant-tables

#4.重启MySQL:

[root@wdsx]# service mysqld restart

#5.使用root登录mysql数据库
[root@wdsx]# mysql -u root 


#6.更新root密码
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

#最新版MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
 
#7.刷新权限
mysql> FLUSH PRIVILEGES;
 
#8.退出mysql
mysql> quit;

#9.注释或者删除my.cnf里的:
 #skip-grant-tables

#10.重启mysql
[root@wdsx]# service mysqld restart
 
#11.使用root用户重新登录mysql
[root@wdsx]# mysql -uroot -p 
Enter password: <输入新设的密码newpassword>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值