修改MYSQL8.0密码不满足当前策略要求解决方法
发布日期:2021-05-08 03:35:04 浏览次数:14 分类:精选文章

本文共 905 字,大约阅读时间需要 3 分钟。

修改MySQL 8.0密码时遇到“密码不满足当前策略要求”错误,通常是密码策略不符合当前设置。以下是详细解决方案:

错误一:密码不满足当前策略要求

原因

  • 密码长度不符合要求:默认长度为8,安全等级为MEDIUM。
  • 加密方法不支持:MySQL 8.0默认使用caching_sha2_password,旧版本使用mysql_native_password

解决步骤

  • 查看当前密码策略

    SHOW VARIABLES LIKE 'validate_password%';

    结果显示长度为8,安全等级为MEDIUM。

  • 调整密码策略

    SET GLOBAL validate_password.policy=LOW;
    SET GLOBAL validate_password.length=4;

    适用于MySQL 8.0。

  • 更改用户密码

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '旧密码';
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    FLUSH PRIVILEGES;
    • 注意:确保旧密码有效,使用mysql_native_password加密方法。
    • 新密码:设置为满足新策略的长度和 complexity。
  • 错误二:MySQL 8.0加密规则不兼容

    原因

    • MySQL 8.0改用caching_sha2_password,旧版本使用mysql_native_password

    解决步骤

  • 更改用户身份验证方法

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '旧密码';
  • 重置密码

    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    FLUSH PRIVILEGES;
  • 总结

    通过以上步骤,可以成功修改MySQL 8.0密码,确保符合当前策略要求。如果仍有问题,建议参考MySQL官方文档或联系技术支持。

    上一篇:MySQL删除数据库时的错误(errno: 39)
    下一篇:Spring MultipartFile转成java.io.Inputstream 文件与输入流互转

    发表评论

    最新留言

    不错!
    [***.144.177.141]2025年04月17日 07时16分11秒