【MySQL】修改MySQL的root账户初始密码,解决 ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘

问题描述

在 Ubuntu 安装 MySQL 后,尝试使用 root 账户登录时出现了访问被拒绝的错误。

mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

解决方案

为了解决这个问题,我们可以使用以下步骤来重新设置 root 账户的密码。

  1. 查找 debian-sys-maint 的密码

首先,我们需要查找 debian-sys-maint 用户的密码。可以通过以下命令来查找:

sudo cat /etc/mysql/debian.cnf

在输出中,找到 password 字段的值。记录下这个密码,我们将在后续步骤中使用它。

  1. 使用 debian-sys-maint 的密码登录 MySQL

可以使用 debian-sys-maint 用户的密码登录到 MySQL 中。使用以下命令:

mysql -u debian-sys-maint -p

在提示符下输入之前记录的密码,并按下 Enter 键。

  1. 切换到 mysql 数据库

成功登录到 MySQL 后,需要切换到 mysql 数据库。使用以下命令:

USE mysql;
  1. 修改 root 用户密码

修改 root 用户的密码。使用以下 SQL 语句:

UPDATE user SET authentication_string='' WHERE User='root';

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';

请将 new_password 替换为您想要设置的新密码。

  1. 刷新权限

完成密码修改后,需要刷新权限以使更改生效。使用以下 SQL 语句:

FLUSH PRIVILEGES;
  1. 使用新密码登录

使用新设置的密码来登录 root 账户。使用以下命令:

mysql -u root -p

在提示符下输入刚刚设置的新密码,并按下 Enter 键。

如果一切顺利,应该成功登录到 MySQL。


参考资料

  • https://blog.csdn.net/qq_26164609/article/details/106881079

猜你喜欢

转载自blog.csdn.net/qq_34988204/article/details/134829273