mysql的revoke命令详解
时间: 2024-03-27 14:37:31 浏览: 15
revoke命令是MySQL中用于撤销用户权限的命令。revoke可以撤销已经授予的权限,可以针对一个用户或多个用户进行操作。其语法如下:
```
revoke privilege_type on database_name.table_name from 'user_name'@'host_name';
```
其中,privilege_type表示要撤销的权限类型,如SELECT、INSERT、UPDATE等;database_name和table_name表示要撤销权限的数据库和表;user_name和host_name表示要撤销权限的用户和主机。
例如,如果要撤销用户tom在localhost上对test数据库中所有表的SELECT权限,可以使用以下命令:
```
revoke select on test.* from 'tom'@'localhost';
```
需要注意的是,撤销权限只是取消了用户对某些资源的访问权,但并不会删除用户账号或者数据内容。
另外,如果想要完全撤销用户的所有权限,可以使用以下命令:
```
revoke all privileges on database_name.table_name from 'user_name'@'host_name';
```
相关问题
mysql5.7 权限详解
MySQL 5.7 的权限系统主要分为以下几个方面:
1. 用户管理:包括创建、修改、删除用户及其密码等。
2. 权限管理:包括授权、回收权限等。
3. 角色管理:角色是一组权限的集合,可以将角色授权给用户,简化权限管理。
4. 权限检查:在用户访问数据库时进行权限检查,决定用户是否有权进行操作。
下面是具体的权限详解:
1. 用户管理
创建用户:可以使用 CREATE USER 语句创建用户。例如,创建一个名为 "test" 的用户并设置密码:
```
CREATE USER 'test'@'localhost' IDENTIFIED BY 'password';
```
修改用户:可以使用 ALTER USER 语句修改用户信息,例如,修改用户的密码:
```
ALTER USER 'test'@'localhost' IDENTIFIED BY 'new_password';
```
删除用户:可以使用 DROP USER 语句删除用户:
```
DROP USER 'test'@'localhost';
```
2. 权限管理
授权:可以使用 GRANT 语句授权给用户或角色执行某些操作的权限。例如,授权用户 "test" 在 "example" 数据库中查询、插入、更新和删除的权限:
```
GRANT SELECT, INSERT, UPDATE, DELETE ON example.* TO 'test'@'localhost';
```
回收权限:可以使用 REVOKE 语句回收用户或角色的某些权限。例如,回收用户 "test" 在 "example" 数据库中删除数据的权限:
```
REVOKE DELETE ON example.* FROM 'test'@'localhost';
```
3. 角色管理
创建角色:可以使用 CREATE ROLE 语句创建角色。例如,创建一个名为 "developer" 的角色:
```
CREATE ROLE developer;
```
授权角色:可以使用 GRANT 语句将权限授予角色。例如,将 "developer" 角色授权在 "example" 数据库中查询的权限:
```
GRANT SELECT ON example.* TO developer;
```
将角色授权给用户:可以使用 GRANT 语句将角色授权给用户。例如,将 "developer" 角色授权给用户 "test":
```
GRANT developer TO 'test'@'localhost';
```
回收角色授权:可以使用 REVOKE 语句回收角色的授权。例如,将 "developer" 角色从用户 "test" 中回收:
```
REVOKE developer FROM 'test'@'localhost';
```
删除角色:可以使用 DROP ROLE 语句删除角色。例如,删除 "developer" 角色:
```
DROP ROLE developer;
```
4. 权限检查
MySQL 在用户访问数据库时会进行权限检查,判断用户是否有权限进行操作。如果用户没有权限,则会拒绝该操作并返回错误信息。例如,当用户 "test" 尝试在 "example" 数据库中删除数据时,如果该用户没有删除数据的权限,则会返回以下错误信息:
```
ERROR 1142 (42000): DELETE command denied to user 'test'@'localhost' for table 'example'
```
以上就是 MySQL 5.7 的权限系统的详解。
mysql基础命令面试题
当然,我可以为您介绍一些MySQL基础命令面试题。以下是一些常见的MySQL基础命令及其功能:
1. SELECT:用于从数据库中检索数据。
2. INSERT:用于向数据库中插入新的行。
3. UPDATE:用于更新数据库中的现有数据。
4. DELETE:用于从数据库中删除数据。
5. CREATE DATABASE:用于创建新的数据库。
6. CREATE TABLE:用于创建新的数据表。
7. ALTER TABLE:用于修改现有的数据表结构。
8. DROP TABLE:用于删除数据表。
9. GRANT:用于授予用户特定的权限。
10. REVOKE:用于撤销用户的权限。
这些是MySQL中最常见的基础命令,掌握它们对于进行数据库操作非常重要。