1、直接以 root 用户身份无密码登录 MySQL
sudo mysql
2、登录成功后,使用以下 SQL 语句设置新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
3、验证密码是否设置成功
mysql -u root -p
4、如果无法使用新密码登录,可能是因为 MySQL 的密码策略限制,可以降低密码强度要求
-- 设置密码验证插件的长度要求为 4
SET GLOBAL validate_password.length = 4;
-- 设置密码验证插件的强度要求为 LOW
SET GLOBAL validate_password.policy = LOW;
5、修改完成后,你可以再次尝试设置密码。
6、如果仍然不能使用新密码登录,查看一下root 用户的权限和认证方式
SELECT User, Host, plugin FROM mysql.user WHERE User = 'root';
7、一般情况下,plugin 字段的值应该是 caching_sha2_password。如果有异常,可以使用以下语句修改认证方式:
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your_new_password';
8、修改完成后,再次尝试使用新密码登录