MySQL删除用户(DROP/DELETE USER)
发表于:2022-10-12 |
 在 MySQL 数据库中,可以使用 DROP USER 语句删除用户,也可以直接在 mysql.user 表中删除用户以及相关权限。
 1. 使用 DROP USER 语句删除普通用户
 使用 DROP USER 语句删除用户的语法格式如下:
 DROP USER <用户1> [ , <用户2> ]…
 
 其中,用户用来指定需要删除的用户账号。
 
 使用 DROP USER 语句应注意以下几点:
 DROP USER 语句可用于删除一个或多个用户,并撤销其权限。
 使用 DROP USER 语句必须拥有 mysql 数据库的 DELETE 权限或全局 CREATE USER 权限。
 在 DROP USER 语句的使用中,若没有明确地给出账户的主机名,则该主机名默认为“%”。
 注意:用户的删除不会影响他们之前所创建的表、索引或其他数据库对象,因为 MySQL 并不会记录是谁创建了这些对象。
 
 例 1
 下面使用 DROP USER 语句删除用户'test1@'localhost'。SQL 语句和执行过程如下。
 mysql> DROP USER 'test1'@'localhost';
 Query OK, 0 rows affected (0.00 sec)
 在 cmd 命令行工具中,使用 test1 用户登录数据库服务器,发现登录失败,说明用户已经删除,如下所示。
 C:\Users\USER>mysql -h localhost -u test1 -p
 Enter password: ****
 ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using  password: YES)
 2. 使用DELETE语句删除普通用户
 可以使用 DELETE 语句直接删除 mysql.user 表中相应的用户信息,但必须拥有 mysql.user 表的 DELETE 权限。其基本语法格式如下:
 DELETE FROM mysql.user WHERE Host='hostname' AND User='username';
 
 Host 和 User 这两个字段都是 mysql.user 表的主键。因此,需要两个字段的值才能确定一条记录。
 例 2
 下面使用 DELETE 语句删除用户'test2'@'localhost'。SQL 语句和执行过程如下所示。
 DELETE FROM mysql.user WHERE Host='localhost'AND User='test2';
 Query OK, 1 rows affected (0.00 sec)
 结果显示删除成功。可以使用 SELETE 语句查询 mysql.user 表,以确定该用户是否已经成功删除。
上一篇:
实战-MySQL定时增量备份
下一篇:
远程访问禅道开源版数据库(基于docker)