跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

mysql如何配置账户锁定_mysql账户锁定配置方法

MySQL从5.7.17起支持账户锁定功能,通过启用locking_password_plugin插件并配置FAILED_LOGIN_ATTEMPTS和PASSWORD_LOCK_TIME参数,可限制连续错误登录次数及锁定时长,有效防范暴力破解;需在配置文件加载插件后重启服务,创建或修改用户时设置失败尝试次数与锁定时间,锁定后可通过ALTER USER ACCOUNT UNLOCK手动解锁,建议使用MySQL 8.0+以获得更好支持。

MySQL账户锁定功能可以通过配置插件和设置密码策略来实现,主要用于防止暴力破解和多次错误登录尝试。从MySQL 5.7.17版本开始,系统支持通过password_locking机制自动锁定账户。以下是具体配置方法。

启用账户锁定插件MySQL使用locking_password_plugin(旧版本为password_policy相关插件)来管理账户锁定。需要确保该插件已加载:

查看插件是否启用:

SELECT PLUGIN_NAME, PLUGIN_STATUS FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%locking%';若未启用,在配置文件中添加(通常为 my.cnf 或 my.ini):plugin-load-add=locking_pwdfreq.so(Linux)

plugin-load-add=locking_pwdfreq.dll(Windows)

重启MySQL服务使插件生效。

设置账户失败登录次数和锁定时间通过修改用户属性来配置连续失败登录次数及锁定时长:

创建用户时设置示例:

CREATE USER 'testuser'@'localhost'IDENTIFIED BY 'password'FAILED_LOGIN_ATTEMPTS 3PASSWORD_LOCK_TIME 1;

修改已有用户:

ALTER USER 'testuser'@'localhost'FAILED_LOGIN_ATTEMPTS 5PASSWORD_LOCK_TIME 2;FAILED_LOGIN_ATTEMPTS:允许连续失败的登录次数(1-999)。

PASSWORD_LOCK_TIME:账户被锁定的天数(可为小数,如0.5表示12小时)。

Trae win Trae Windows 官方版本现已全面支持 Win10 和 Win11 系统(64位)。国内开发者可直接访问 Trae 中文官网(trae.cn 或 trae.com.cn),一键下载官方正版 .exe 安装包,享受国内直连的高速稳定体验。安装过程极其简便,双击即可运行,并支持一键无缝导入 VS Code 或 Cursor 的原有主题、快捷键及插件配置。登录支持手机号、微信或稀土掘金账号。内置免费的豆包与 DeepSeek 等顶级大模型,让你开箱即用,轻松开启高效的 AI 智能编程之旅。

下载验证账户锁定状态当账户被锁定后,可通过以下方式检查:

查询用户状态:

SELECT user, host, account_locked, failed_login_attempts FROMmysql.user WHERE user = 'testuser';查看错误日志,确认是否有“Too many failed login attempts”提示。

手动解锁账户如果用户被锁定,可通过管理员账户执行:ALTER USER 'testuser'@'localhost' ACCOUNT UNLOCK;也可在配置中临时禁用锁定策略进行调试。

基本上就这些。只要启用对应插件并合理设置失败尝试次数与锁定时间,就能有效防止恶意登录。注意版本兼容性,推荐使用MySQL 8.0+以获得更完善的密码管理支持。

相关文章