MySQL8修改密码策略报错:ERROR 1193 (HY000): Unknown system variable ‘validate_password_policy‘

问题描述:

修改MySQL8密码策略用到以下命令

mysql> set global validate_password_policy=LOW;

mysql> set global validate_password_policy=0;

时出现错误提示:

ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'

原因分析:

使用命令:

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';

mysql> SHOW VARIABLES LIKE 'validate_password%';

可以看到,均返回Empty set结果,究其原因,MySQL密码密码策略validate_password默认状态为NOT activated(说法来自stackoverflow)


解决方案:

最好先修改一下密码(例如MySQL_22sql):

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码';

使用命令

mysql> install plugin validate_password soname 'validate_password.so';

返回Query OK, 0 rows affected, 1 warning

再次使用命令

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';

返回表
在这里插入图片描述
即说明密码策略已启用

再次使用命令

mysql> SHOW VARIABLES LIKE 'validate_password%';

返回具体的参数配置
MySQL8修改密码策略报错:ERROR 1193 (HY000): Unknown system variable ‘validate_password_policy‘_第1张图片
此时即可使用命令修改密码策略

密码强度要求(0或low代表最低要求):

mysql> set global validate_password_policy=0;

密码长度要求:

mysql> set global validate_password_length=你自己想要的长度;

修改成功:
MySQL8修改密码策略报错:ERROR 1193 (HY000): Unknown system variable ‘validate_password_policy‘_第2张图片

参考来源:

  • https://stackoverflow.com/questions/55237257/mysql-validate-password-policy-unknown-system-variable
  • https://www.cnblogs.com/rusking/p/10561432.html

你可能感兴趣的:(mysql,数据库)