MySQL - 帐户解锁

MySQL - 帐户解锁 首页 / MySQL入门教程 / MySQL - 帐户解锁

解锁是一种机制,允许用户释放所有锁或与该帐户关联的任何特定锁。在本文中,无涯教程将学习如何在MySQL服务器中解锁用户帐户。

CREATE USER…UNLOCK 语句创建新用户帐户时,新用户将存储为锁定状态。

如果要从现有用户帐户中释放锁定,则需要使用 ALTER USER…ACCOUNT UNLOCK 语句,如下所示:

ALTER USER [IF EXISTS] user_account_name ACCOUNT UNLOCK;

使用这种语法,必须首先在ALTER USER关键字之后指定要释放锁定的用户帐户名。接下来,需要在用户名旁边提供 ACCOUNT UNLOCK 子句。请注意, IF EXISTS 选项也可用于仅在服务器中存在该帐户时才能对其进行解锁。

MySQL 还允许使用以下语句同时解锁多个用户帐户:

ALTER USER [IF EXISTS] 
    user_account_name1, user_account_name2, ...
ACCOUNT UNLOCK;

使用这种语法,无涯教程需要提供一个逗号分隔的用户名列表,以在单个查询中解锁多个帐户。如果不使用该语句指定ACCOUNT UNLOCK子句,则帐户解锁状态保持不变。

MySQL使用mysql.user系统表的 account_locked列来存储帐户锁定状态。可以使用 SHOW CREATE USER 语句来验证帐户是否已解锁。如果此列值为 Y ,则表示该帐户已被锁定。如果包含 N ,则表示该帐户已解锁。

如果尝试在未解锁的情况下连接到该帐户,则MySQL会发出错误,将以下消息写入错误日志:

链接:https://www.learnfk.comhttps://www.learnfk.com/mysql/mysql-unlock-account.html

来源:LearnFk无涯教程网

Access denied for user 'user_name'@'host_name'.
An account is locked. 

用户帐户解锁示例

让通过示例了解如何解锁用户帐户。首先,无涯教程将使用以下语句在锁定状态下创建一个名为 learnfk @ localhost 的新用户帐户:

mysql> CREATE USER IF NOT EXISTS learnfk@localhost 
IDENTIFIED BY 'jtp123456'
ACCOUNT LOCK;  

接下来,将执行以下语句以显示用户帐户及其状态:

mysql> SELECT user, host, account_locked
FROM mysql.user
WHERE user = 'learnfk' AND host = 'localhost';

无涯教程应该得到以下输出:

MySQL Unlock Account

在此输出中,可以看到 mysql.user 系统表中的 account_locked 列表示Y。这意味着用户名learnfk已在服务器上锁定。

如果尝试使用此帐户连接而不在MySQL Server中解锁,它将返回以下错误:

mysql -u learnfk -p
Enter password: *********

这是错误消息:

MySQL Unlock Account

因此,可以使用 ALTER USER 语句来解锁帐户,然后按以下方式对其进行访问:

mysql> ALTER USER 'learnfk'@'localhost' ACCOUNT UNLOCK;

在下面的输出中,可以看到account_locked列的状态为N。这意味着用户帐户learnfk没有任何锁定。

MySQL Unlock Account

在本文中,无涯教程学习了如何使用ALTER TABLE ACCOUNT UNLOCK语句从现有用户帐户释放锁。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

数据结构与算法之美 -〔王争〕

许式伟的架构课 -〔许式伟〕

物联网开发实战 -〔郭朝斌〕

如何成为学习高手 -〔高冷冷〕

郭东白的架构课 -〔郭东白〕

深入C语言和程序运行原理 -〔于航〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

超级访谈:对话毕玄 -〔毕玄〕

超级访谈:对话道哥 -〔吴翰清(道哥)〕

好记忆不如烂笔头。留下您的足迹吧 :)