You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 5.6.51执行ACCOUNT LOCK语句报1064语法错误如何解决

问题原因

ACCOUNT LOCK 账号锁定语法是从 MySQL 5.7.6 版本才正式引入的,你当前使用的 MySQL 5.6.51 版本不支持该语法,执行时就会抛出1064语法错误。

解决方法

MySQL 5.6 没有提供原生的账号锁定能力,可通过以下两种等效方案实现禁止账号登录使用的效果:

  • 方案1:回收目标用户的所有权限,同时重置为一个无规律的随机强密码,让账号无法正常登录、也没有任何数据库操作权限
    执行命令参考:
    -- 回收该用户的所有权限和授权权限
    REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user_name'@'localhost';
    -- 刷新权限使回收操作生效
    FLUSH PRIVILEGES;
    -- 替换下方字符串为自行生成的随机长密码,确保无人知晓该密码
    SET PASSWORD FOR 'user_name'@'localhost' = PASSWORD('aX9%kL2$pQ7!zR3_sdW8');
    
  • 方案2:直接修改系统权限表,强制该用户认证失败,彻底阻断登录
    执行命令参考:
    -- 将用户密码置空同时标记密码过期,让所有登录请求直接认证失败
    UPDATE mysql.user SET Password = PASSWORD(''), password_expired = 'Y' WHERE User = 'user_name' AND Host = 'localhost';
    -- 刷新权限使表修改生效
    FLUSH PRIVILEGES;
    

注意:只要是直接修改mysql库下系统表的操作,执行完成后都必须运行FLUSH PRIVILEGES;,否则配置不会立即生效。

如果后续将数据库升级到MySQL 5.7.6及以上版本,就可以直接使用你最初编写的ALTER USER 'user_name'@'localhost' ACCOUNT LOCK;语句完成账号锁定操作。

内容的提问来源于stack exchange,提问作者Curtis Chiron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 06:06:26