如何在 MySQL 中解锁锁定的用户帐户
本文介绍了在 MySQL 中如何解锁一个或者多个锁定的用户帐户。
要解锁一个或多个锁定的用户,请使用 ALTER USER .. ACCOUNT UNLOCK
语句。
语句的基本语法
下面是解锁用户账户的语法:
ALTER USER [IF EXISTS] user@host [, user@host, ...]
ACCOUNT UNLOCK;
这里:
user@host
包含了用户名和主机名。多个账户请使用逗号分隔。UNLOCK
关键字用于解锁用户。如果要锁定用户,请使用LOCK
。
查询用户的锁定状态
您可以在 mysql
数据库中的 user
表中查看用户的锁定状态。mysql.user
表中的 account_locked
列中保存了帐户是否被锁定的状态: Y
指示了此用户被锁定, N
指示了此用户未锁定。
请使用以下 SQL 语句查询 MySQL 数据库服务器中的所有用户的锁定状态:
SELECT user, host, account_locked
FROM mysql.user;
+------------------+-----------+----------------+
| user | host | account_locked |
+------------------+-----------+----------------+
| root | % | N |
| sqliz | % | Y |
| sqliz2 | % | Y |
| test_role1 | % | Y |
| test_role2 | % | Y |
| test_user1_new | % | N |
| test_user2_new | % | N |
| test_user3_new | % | N |
| testuser | % | N |
| mysql.infoschema | localhost | Y |
| mysql.session | localhost | Y |
| mysql.sys | localhost | Y |
| root | localhost | N |
+------------------+-----------+----------------+
这里的用户 sqliz
和 sqliz2
是在 MySQL 锁定账户教程中被锁定的。
解锁用户帐户
要解锁 sqliz
和 sqliz2
用户,请运行以下语句:
ALTER USER 'sqliz'@'%', 'sqliz2'@'%' ACCOUNT UNLOCK;
这里,我们在一个语句中解锁了 'sqliz'@'%'
和 'sqliz2'@'%'
。
要查询这两个用户账户的锁定状态,请运行以下 SQL 语句:
SELECT user, host, account_locked
FROM mysql.user
WHERE user LIKE 'sqliz%';
+--------+------+----------------+
| user | host | account_locked |
+--------+------+----------------+
| sqliz | % | N |
| sqliz2 | % | N |
+--------+------+----------------+
account_locked
列中的 N
指示了这两个用户已经不被锁定了。
结论
在 MySQL 中,您可以通过 ALTER USER .. ACCOUNT UNLOCK
语句解锁一个或者多个锁定的用户。