十八、权限授予和回收

2021-06-25 15:17:19 浏览数 (1)

一、权限管理

在 MySQL 数据库中,使用 grant 命令授权,revoke 命令撤销授权。语法如下:

代码语言:javascript复制
# 授权
grant all privileges on databaseName.tableName to '用户名'[@'主机名']
# 撤销授权
revoke all privileges on databaseName.tableName from '用户名'[@'主机名']
# 刷新权限
FLUSH PRIVILEGES;
# 查看权限
show grant for '用户名'[@'主机名']
二、MySQL 权限列表

使用 grant 和 revoke 进行授权和撤销授权时,需要指定具体哪些权限,这些权限答题分为三类:数据列、结构类和管理类。

数据

结构

管理

SELECT

CRETAE

USAGE

INSERT

ALTER

GRANT

UPDATE

INDEX

SUPER

DELETE

DROP

PROCESS

FILE

CREATE TEMPORARY TABLES

SHUTDOWN

SHOW VIEW

SHOW DATABASES

CREATE ROUTINE

LOCK TABLES

EXECUTE

REFERECES

CREATE VIEW

REPUCATION CUENT

EVENT

REPUCATION SLAVE

TRIGGER

CREATE USER

例如:

  1. 查看 root 用户的权限
代码语言:javascript复制
show grants for 'root'
  1. 将查询mydb数据库的权限授予zhangsan
代码语言:javascript复制
grant select on mydb.* to 'zhangsan'@'%';
FLUSH PRIVILEGES;

TIP:

  1. 在授予或回收权限后需运行 FLUSH PRIVILEGES 语句来刷新;
  2. 如果授予某个用户访问所有数据库的所有表的权限的时候使用如下语法: ``sql grant all privileges on . to ‘用户名’[@‘主机名’]

0 人点赞