求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
要资料
 
 

mysql教程
MySQL快速学习入门
MySQL是什么
MySQL安装
MySQL示例数据库
MySQL导入示例数据库
MySQL基础教程
MySQL查询数据
MySQL WHERE语句
MySQL插入数据
MySQL更新表数据
MySQL删除表数据
MySQL创建与删除数据库
MySQL创建表
MySQL修改表结构
MySQL重命名表
MySQL数据类型
高级部分
MySQL技巧
MySQL存储过程
MySQL视图
MySQL触发器
MySQL管理
MySQL全文搜索
MySQL函数
应用程序连接
MySQL+Node.js连接和操作
Python+MySQL连接和操作
 
 

MySQL删除用户(DROP USER)
693 次浏览
5次  

在本教程中,您将学习如何使用MySQL DROP USER语句来删除用户帐户。

MySQL DROP USER语句介绍

要删除一个或多个用户帐户,请按如下所示使用DROP USER语句:

DROP USER user, [user],...;

要删除用户,可以在DROP USER子句之后的'user_name'@'host_name'格式中指定帐户名称。如果要一次删除多个用户,请使用以逗号分隔的用户列表。

如果删除不存在的用户帐户,MySQL将发出错误。 从MySQL 5.7.8开始,可以使用IF EXISTS子句来指示该语句在删除不存在的用户帐户时发出警告,而不是发出错误。

DROP USER [IF EXISTS] user, [user],...;

除了删除用户帐户之外,DROP USER语句还会从所有授权表中删除所有权限。

删除用户帐户示例

要查看MySQL服务器中的数据库:mysql的所有用户信息,请使用以下SELECT语句:

USE mysql;
SELECT user, host FROM mysql.user;

下面是我在编写本教程时所使用MySQL数据库中的用户帐号列表:

mysql> SELECT user, host FROM mysql.user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| api@localhost | % |
| remote_user | % |
| rfc | % |
| superadmin | % |
| auditor | localhost |
| dbadmin | localhost |
| mysql.sys | localhost |
| root | localhost |
| super | localhost |
+---------------+-----------+
9 rows in set

假设您要删除用户帐户:api@localhost,请使用以下语句:

DROP USER 'api@localhost';

再次从mysql.user表中查询数据,您将看到用户api@localhost已被删除。

数据库中的mysql.user表的用户帐号列表如下所示:

mysql> SELECT user, host FROM mysql.user;
+-------------+-----------+
| user | host |
+-------------+-----------+
| remote_user | % |
| rfc | % |
| superadmin | % |
| auditor | localhost |
| dbadmin | localhost |
| mysql.sys | localhost |
| root | localhost |
| super | localhost |
+-------------+-----------+
8 rows in set

要删除单个DROP USER语句中两个用户:remote_user和auditor的帐户,请使用以下语句:

DROP USER remote_user, auditor;

下面可验证删除操作的结果,再次查询mysql.user表中的用户信息 -

SELECT user, host FROM mysql.user;

假设用户帐户已登录,并且正在运行会话。 如果您删除用户帐户,则不会停止打开的会话。 活动会话将继续,直到用户退出。通常,在这种情况下,您应该在执行DROP USER语句之前立即关闭用户的会话。

首先,需要使用SHOW PROCESSLIST语句识别用户的进程标识。

如您所见,dbadmin@localhost用户帐户的进程号为:40。

第二,通过杀死这个进程 -

KILL 40;

用户帐户dbadmin@localhost收到一条错误消息:

ERROR 2013 (HY000): Lost connection to MySQL server during query

第三,执行DROP USER语句删除用户帐户dbadmin@localhost:

DROP USER dbadmin@localhost;

请注意,如果不终止活动会话,则删除的用户(如果连接到数据库服务器)仍然可以执行所有操作,直到会话结束。

在本教程中,您已经学会了如何使用MySQL DROP USER语句来删除一个或多个用户帐户。


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



693 次浏览
5次
 捐助