重置密码解决MySQL for Linux错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

时间:2021-12-25 21:06:05
  • 重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
vim /etc/my.cnf

(注:windows下修改的是my.ini)

在[mysqld]后面任意一行添加

skip-grant-tables

用来跳过密码验证的过程,如下图所示:

重置密码解决MySQL for Linux错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

保存文档并退出

  • 接下来我们需要重启MySQL:
systemctl restart mariadb
  • 然后用空密码方式使用root用户登录 MySQL:
mysql -u root
  • 修改root用户的密码:
mysql> update mysql.user set Password=password('新密码') where User='root';
mysql> flush privileges;
mysql> quit

(注意后面的分号)

重置密码解决MySQL for Linux错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

  • 编辑my.cnf,去掉刚才添加的内容

重新启动MySQL,就可以使用新密码登录

systemctl restart mariadb

重置密码解决MySQL for Linux错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)