在 MySQL 中,我们可以使用 RENAME USER 语句修改一个或多个已经存在的用户账号。
语法格式如下:
其中:
- <旧用户>:系统中已经存在的 MySQL 用户账号。
- <新用户>:新的 MySQL 用户账号。
使用 RENAME USER 语句时应注意以下几点:
- RENAME USER 语句用于对原有的 MySQL 用户进行重命名。
- 若系统中旧账户不存在或者新账户已存在,该语句执行时会出现错误。
- 使用 RENAME USER 语句,必须拥有 mysql 数据库的 UPDATE 权限或全局 CREATE USER 权限。
例 1
使用 RENAME USER 语句将用户名 test1 修改为 testUser1,主机是 localhost。SQL 语句和执行过程如下。
在 cmd 命令行工具中,使用 testUser1 用户登录数据库服务器,如下所示。
MySQL删除用户(DROP/DELETE USER)
在 MySQL 数据库中,可以使用 DROP USER 语句删除用户,也可以直接在 mysql.user 表中删除用户以及相关权限。
1. 使用 DROP USER 语句删除普通用户
使用 DROP USER 语句删除用户的语法格式如下:
其中,用户用来指定需要删除的用户账号。
使用 DROP USER 语句应注意以下几点:
(1)DROP USER 语句可用于删除一个或多个用户,并撤销其权限。
(2)使用 DROP USER 语句必须拥有 mysql 数据库的 DELETE 权限或全局 CREATE USER 权限。
(3)在 DROP USER 语句的使用中,若没有明确地给出账户的主机名,则该主机名默认为“%”。
例 1
下面使用 DROP USER 语句删除用户'test1@'localhost'。SQL 语句和执行过程如下。
在 cmd 命令行工具中,使用 test1 用户登录数据库服务器,发现登录失败,说明用户已经删除,如下所示。
2. 使用DELETE语句删除普通用户
可以使用 DELETE 语句直接删除 mysql.user 表中相应的用户信息,但必须拥有 mysql.user 表的 DELETE 权限。其基本语法格式如下:
Host 和 User 这两个字段都是 mysql.user 表的主键。因此,需要两个字段的值才能确定一条记录。
例 2
下面使用 DELETE 语句删除用户'test2'@'localhost'。SQL 语句和执行过程如下所示。
结果显示删除成功。可以使用 SELETE 语句查询 mysql.user 表,以确定该用户是否已经成功删除。