MySQL默认不启用登录失败锁定机制,需通过connection_control插件实现输错N次后延迟或拒绝连接;该插件自5.7.14引入,支持在线启用,关键参数包括failed_connections_threshold、min_connection_delay和max_connection_delay。

MySQL 默认不启用登录失败锁定机制,要实现“输错 N 次密码后自动延迟响应甚至拒绝连接”,必须依赖 connection_control 插件系列。该功能自 MySQL 5.7.14 起引入,8.0+ 版本完全支持,无需重启服务即可在线启用和调优。
先检查 MySQL 版本是否满足最低要求(≥5.7.14):
SELECT VERSION();/usr/lib/mysql/plugin/connection_control.so,Windows 为 connection_control.dll;可通过 SHOW VARIABLES LIKE 'plugin_dir'; 确认路径SHOW PLUGINS; 查看是否已加载,若无则需手动安装在 MySQL 命令行中依次执行(需 SUPER 权限):
INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so';INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS SONAME 'connection_control.so';SHOW VARIABLES LIKE 'connection_%'; 应能看到相关参数,如 connection_control_failed_connections_threshold
关键参数有三个,单位均为毫秒:
SET GLOBAL connection_control_failed_connections_threshold = 5;(输错 5 次触发限制)SET GLOBAL connection_control_min_connection_delay = 300000;(即 5 分钟,第 6 次尝试前强制等待)SET GLOBAL connection_control_max_connection_delay = 600000;(防止单次错误累积过久,默认可不设)注意:这些是会话级动态设置,重启后失效;如需永久生效,需写入 my.cnf 或 my.ini 的 [mysqld] 段:
connection-control-failed-connections-threshold=5<br>connection-control-min-connection-delay=300000<br>connection-control-max-connection-delay=600000
配置完成后可快速验证:
mysql -u root -p),输错达阈值后下一次连接会明显卡顿,耗时约等于 min_connection_delay
SELECT * FROM information_schema.connection_control_failed_login_attempts;(该表由插件自动维护)以上就是mysql登录失败次数如何限制_mysql安全策略设置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号