这个错误表明您设置的密码不符合 MySQL 的密码策略要求。MySQL 8.0 默认启用了密码验证插件,要求密码满足一定强度。
解决方案
方法1:设置符合要求的强密码
尝试使用更复杂的密码(至少8位,包含大小写字母、数字和特殊字符):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Root@1234';
方法2:临时降低密码策略要求(开发环境适用)
- 先查看当前密码策略:
SHOW VARIABLES LIKE 'validate_password%';
- 降低策略级别(不推荐生产环境使用):
SET GLOBAL validate_password.policy = LOW;
-- 或者完全禁用(仅限开发环境)
SET GLOBAL validate_password.policy = 0;
- 然后再次尝试修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
方法3:使用mysql_secure_installation工具
在WSL终端中运行:
sudo mysql_secure_installation
按照交互提示设置root密码和其他安全选项。
完整步骤示例
- 登录MySQL(无需密码):
sudo mysql -u root
- MySQL命令行中执行:
-- 查看当前策略
SHOW VARIABLES LIKE 'validate_password%';
-- 临时降低策略(可选)
SET GLOBAL validate_password.policy = LOW;
-- 修改root认证方式和密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
-- 刷新权限
FLUSH PRIVILEGES;
--退出
EXIT;
- Navicat中使用新设置的密码连接即可
注意:在生产环境中请始终使用强密码,上述降低安全策略的方法仅适用于本地开发测试环境。
内容由零声教学AI助手提供,问题来源于学员提问