求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   模型库  
会员   
 


AI 智能化软件测试方法与实践
5月23-24日 上海+在线



人工智能.机器学习TensorFlow
5月22-23日 北京



图数据库与知识图谱
5月22-23日 北京
 
 

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)
713 次浏览
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元





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



713 次浏览
5次
 捐助