MySQL——数据库的高级操作(二)用户管理(3)删除普通用户 ...

打印 上一主题 下一主题

主题 1018|帖子 1018|积分 3058

        在 MySQL中,通常会创建多个普通用户来管理数据库,但假如发现某些用户是没有必要的,就可以将其删除,删除用户有两种方式,接下来将针对这两种方式进行详细的讲解。
1、利用 DROP USER 语句删除用户

        DROP USER 语句与 DROP DATABASE 语句有些类似,假如要删除某个用户,只需在 DROP USER 后面指定要删除的用户信息即可。DROP USER 语句删除用户的语法格式如下:
  1. DROP USER 'username'@'hostname'[,'username'@'hostname'];
复制代码
        上述语法格式中,username表现要删除的用户,hostname表现主机名,DROP USER语句可以同时删除一个或多个用户,多个用户之间用逗号隔开。值得留意的是,利用DROP USER 语句来删除用户时,必须拥有 DROP USER 的权限。利用 DROP USER 语句删除用户 userl,SQL 语句如下:
  1. DROP USER 'user1'@'localhost';
复制代码
        上述语句执行乐成后,可以通过SELECT语句验证用户是否被删除,运行结果如下:
  1. mysql> SELECT Host, User, authentication_string FROM mysql.user;
  2. +-----------+------------------+------------------------------------------------------------------------+
  3. | Host      | User             | authentication_string                                                  |
  4. +-----------+------------------+------------------------------------------------------------------------+
  5. | localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
  6. | localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
  7. | localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
  8. | localhost | root             | *A3687CD1574820D919D6DF2AC07CA3AA9E5438BE                              |
  9. | localhost | user2            | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257                              |
  10. | localhost | user3            | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257                              |
  11. +-----------+------------------+------------------------------------------------------------------------+
  12. 6 rows in set (0.00 sec)
复制代码
        从运行结果可以看出,user 表中已经没有 user1用户了,因此分析该用户被乐成删除了。
2、利用 DELETE 语句删除用户

        DELETE语句不仅可以删除普通表中的数据,还可以删除 user 表中的数据,利用该语句删除 user 表中的数据时,只需指定表名为 mysql.user,以及要删除的用户信息即可。同样地,在利用 DELETE 语句时必须拥有对 mysql.user 表的 DELETE 权限。

        DELETE 语句删除用户的语法格式如下:

  1. DELETE FROM mysgl.user WHERE Host='hostname' AND User='username';
复制代码
        上述语法格式中,mysql.user 参数指定要操作的表,WHERE 指定条件语句,Host 和 User 都是 mysql. user 表的字段,这两个字段可以确定唯一的一条记载。利用 DELETE 语句删除用户 user2,SQL 语句如下:
  1. DELETE FROM mysql.user WHERE Host='localhost' AND User='user2';
复制代码
        上述语句执行乐成后,可以通过 SELECT语句查询用户是否被删除,查询结果如下:
  1. mysql> SELECT Host, User, authentication_string FROM mysql.user;
  2. +-----------+------------------+------------------------------------------------------------------------+
  3. | Host      | User             | authentication_string                                                  |
  4. +-----------+------------------+------------------------------------------------------------------------+
  5. | localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
  6. | localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
  7. | localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
  8. | localhost | root             | *A3687CD1574820D919D6DF2AC07CA3AA9E5438BE                              |
  9. | localhost | user3            | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257                              |
  10. +-----------+------------------+------------------------------------------------------------------------+
  11. 5 rows in set (0.00 sec)
复制代码
        从运行结果可以看出,user 表中已经没有 user2 用户了,因此分析该用户被乐成删除了。由于直接对 user表进行操作,执行完下令后必要利用“ FLUSH PRIVILEGES; ”语句重新加载用户权限。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王國慶

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表