必须启用validate_password插件才能使密码策略生效,未启用时所有配置无效;关键参数需在my.cnf中配置,动态SET不持久;STRONG策略需正确设置dictionary_file路径与格式。MySQL 8.0+ 密码复杂度插件必须启用才能生效不启用 validate_password 插件,任何密码策略配置都无效------哪怕你改了系统变量,用户照样能设 '123' 或 'password'。检查是否已加载:SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'validate_password';没结果?得手动安装:MySQL 8.0+ 默认内置,但可能未激活:执行 INSTALL PLUGIN validate_password SONAME 'validate_password.so';如果报错找不到 so 文件,说明 MySQL 编译时没带该插件(少见),需重装或换发行版插件启用后,validate_password.policy 等变量才真正起作用关键参数必须在 my.cnf 中设置,动态 SET 不持久很多人用 SET GLOBAL validate_password.length = 12; 测试成功,重启 MySQL 后失效------因为这些变量只在运行时生效,且部分变量(如 validate_password.dictionary_file)根本不能动态修改。正确做法是写入配置文件(如 /etc/mysql/my.cnf 的 mysqld 段):立即学习"PHP免费学习笔记(深入)"; Murf AI AI文本转语音生成工具
相关推荐
顾林海35 分钟前
Agent入门阶段-编程基础-Python:流程控制呱呱复呱呱3 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的Nturmoils4 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT曲幽8 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API渣波8 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码荣码8 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面兵慌码乱18 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析金銀銅鐵19 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程FreakStudio1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发用户0332126663671 天前
使用 Python 从零创建 Word 文档