MySQL删除用户的2种方式(附带实例)
在 MySQL 数据库中,可以使用 DROP USER 语句删除用户,也可以直接通过 DELETE 从 mysql.user 表中删除对应的记录来删除用户。
例如,“'jeffrey'@'localhost'”账户名称的用户和主机部分与用户表记录的 User 和 Host 列值相对应。
使用 DROP USER,可以删除一个用户账户及其权限,操作如下:
【实例】使用 DROP USER 删除账户“'jeffrey'@'localhost'”,DROP USER 语句如下:
提示,DROP USER 不能自动关闭任何打开的用户对话。而且,如果用户有打开的对话,此时取消用户,命令则不会生效,直到用户对话被关闭后才能生效。一旦对话被关闭,用户也被取消,此用户再次试图登录时将会失败。
【实例】使用 DELETE 删除用户'customer1'@'localhost'。首先创建用户 customer1,命令如下:
然后使用 DELETE 删除用户 'customer1'@'localhost',命令如下:
使用DROP USER语句删除用户
DROP USER 语句的语法如下:DROP USER user [, user];DROP USER 语句用于删除一个或多个 MySQL 账户。要使用 DROP USER,必须拥有 MySQL 数据库的全局 CREATE USER 权限或 DELETE 权限。使用与 GRANT 或 REVOKE 相同的格式为每个账户命名。
例如,“'jeffrey'@'localhost'”账户名称的用户和主机部分与用户表记录的 User 和 Host 列值相对应。
使用 DROP USER,可以删除一个用户账户及其权限,操作如下:
DROP USER 'user'@'localhost'; ?DROP USER;
- 第 1 条语句可以删除 user 在本地登录权限;
- 第 2 条语句可以删除来自所有授权表的用户账户权限记录。
【实例】使用 DROP USER 删除账户“'jeffrey'@'localhost'”,DROP USER 语句如下:
DROP USER 'jeffrey'@'localhost';执行过程如下:
MySQL> DROP USER 'jeffrey'@'localhost'; Query OK, 0 rows affected (0.00 sec)可以看到语句执行成功,查看执行结果:
MySQL> SELECT host,user, authentication_string FROM user ; +---------+----------------+---------------------------------------------+ | host | user |authentication_string | +---------+----------------+---------------------------------------------+ |localhost|mysql.infoschema|$A$005$THISISACOMBINATIONOFIVALIDSALTANDP | |localhost|mysql.session |$A$005$THISISACOMBINATIONOFINVALIDSALTANDPAS | |localhost|mysql.sys |$A$005$THISISACOMBINATIONOFINVAUSTNEVERREUSED| |localhost|root |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | +---------+----------------+---------------------------------------------+user 表中已经没有名称为 jeffrey、主机名为 localhost 的账户,即“'jeffrey'@'localhost'”的用户账号已经被删除。
提示,DROP USER 不能自动关闭任何打开的用户对话。而且,如果用户有打开的对话,此时取消用户,命令则不会生效,直到用户对话被关闭后才能生效。一旦对话被关闭,用户也被取消,此用户再次试图登录时将会失败。
MySQL使用DELETE语句删除用户
DELETE 语句基本语法格式如下:DELETE FROM MySQL.user WHERE host='hostname' and user='username'host 和 user 为 user 表中的两个字段,两个字段的组合确定所要删除的用户账户记录。
【实例】使用 DELETE 删除用户'customer1'@'localhost'。首先创建用户 customer1,命令如下:
MySQL>CREATE USER 'customer1'@'localhost' IDENTIFIED BY 'my123'; Query OK, 0 rows affected (0.12 sec)
然后使用 DELETE 删除用户 'customer1'@'localhost',命令如下:
mysql> DELETE FROM MySQL.user WHERE host= 'localhost' and user='customer1'; Query OK, 1 row affected (0.01 sec)可以看到语句执行成功,'customer1'@'localhost' 的用户账号已经被删除。读者可以使用 SELECT 语句查询 user 表中的记录,确认删除操作是否成功。