MySQL 5.7.25设置密码策略报错:未知系统变量validate_password_policy
解决MySQL 5.7.25设置validate_password_policy报错的问题
这问题我碰到过好多次,核心原因是validate_password插件没有被启用——MySQL 5.7版本中这个密码验证插件并不是默认加载的,所以你找不到对应的系统变量,执行设置命令自然会报错。咱们一步步来解决:
第一步:确认插件状态
先执行这条SQL检查插件是否已安装:SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'validate_password%';如果返回空结果,就说明插件确实没被安装。
第二步:安装并启用validate_password插件
根据你的操作系统执行对应的命令:- Linux系统:
INSTALL PLUGIN validate_password SONAME 'validate_password.so'; - Windows系统:
INSTALL PLUGIN validate_password SONAME 'validate_password.dll';
- Linux系统:
第三步:验证插件是否生效
再次执行你之前的命令查看变量:SHOW VARIABLES LIKE 'validate_password%';这时候应该能看到包括
validate_password_policy在内的一系列密码验证相关变量了。第四步:设置密码策略级别
现在就可以正常执行你想要的命令了:SET GLOBAL validate_password_policy=2;如果你希望这个配置重启MySQL后依然生效,需要修改配置文件:
- Linux:在
my.cnf的[mysqld]段添加validate_password_policy=2 - Windows:在
my.ini的[mysqld]段添加validate_password_policy=2
保存后重启MySQL服务即可。
- Linux:在
额外注意事项
如果执行INSTALL PLUGIN时报错,大概率是你的MySQL安装目录下的plugin文件夹里没有对应的插件文件。这种情况可以尝试重新安装MySQL,在安装过程中确保勾选了"Validate Password Plugin"组件;或者从官方下载对应版本的插件文件放到plugin目录后再执行安装命令。
内容的提问来源于stack exchange,提问作者blue
相关产品推荐
相关产品推荐

