暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[ACDU 翻译] MySQL 6.2.19 账户锁定

原创 由迪 2021-09-07
542

MySQL 支持使用and 语句的ACCOUNT LOCKandACCOUNT UNLOCK子句来锁定和解锁用户帐户 : CREATE USERALTER USER

  • 与 一起使用时CREATE USER,这些子句指定新帐户的初始锁定状态。在没有任何一个条款的情况下,帐户将在解锁状态下创建。

    如果validate_password启用该组件,则不允许创建没有密码的帐户,即使该帐户已被锁定。请参阅 第 6.4.3 节,“密码验证组件”

  • 与 一起使用时ALTER USER,这些子句指定现有帐户的新锁定状态。在没有任何一个条款的情况下,帐户锁定状态保持不变。

    从 MySQL 8.0.19 开始, ALTER USER ... UNLOCK解锁因登录失败次数过多而暂时锁定的语句命名的任何帐户。请参见 第 6.2.15 节,“密码管理”

帐户锁定状态记录在系统表的 account_locked列中 mysql.user。from 的输出 SHOW CREATE USER指示帐户是锁定还是解锁。

如果客户端尝试连接到锁定的帐户,则尝试失败。服务器递增Locked_connects状态变量,该 变量指示尝试连接到锁定帐户的次数,返回 ER_ACCOUNT_HAS_BEEN_LOCKED错误,并将消息写入错误日志:

Access denied for user 'user_name'@'host_name'.
Account is locked.

锁定帐户不会影响能够使用假定锁定帐户身份的代理用户进行连接。它也不影响执行具有DEFINER命名锁定帐户的属性的存储程序或视图的能力。也就是说,锁定帐户不会影响使用代理帐户或存储的程序或视图的能力。

帐户锁定功能取决于系统表中account_locked列 的存在 mysql.user。对于从早于 5.7.6 的 MySQL 版本升级,请执行 MySQL 升级过程以确保此列存在。请参阅 第 2.11 节,“升级 MySQL”。对于没有account_locked列的非升级安装,服务器将所有帐户视为未锁定,并且使用ACCOUNT LOCKorACCOUNT UNLOCK子句会产生错误。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论