第31课 权限管理

什么是权限管理

不同的身份, 可以干不同的事情

新增加的用户, 权限很少

我们先新建用户dog

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
image.png
image.png
image.png
image.png

直接实例

1. 对新建用户dog在library.reader表上授予select和delete权限

没有权限时, 直接查询会报错

> 1142 - SELECT command denied to user 'dog'@'localhost' for table 'reader'
> 时间: 0s

赋予权限

use library;
grant select,DELETE on reader to dog@localhost;
image.png

但是insert操作依然报错, 因为没有权限

INSERT INTO `library`.`reader` 
    ( `readerid`, `readername`, `readerpass`, `retypeid`, `readerdate`, `readerstatus` )
VALUES
    ( '0017', '苏小东', '123456', 1, '1999-09-09 00:00:00', '有效' );
> 1142 - INSERT command denied to user 'dog'@'localhost' for table 'reader'
> 时间: 0s

2. 授予dog在library.reader上的姓名和密码的update权限

grant update(readername,readerpass) on library.reader to dog@localhost;
image.png

3. 授予dog用户在library数据库中的所有表的select权限

grant select on library.* to dog@localhost;
image.png

4. 授予dog在library数据库中所有的表操作权限

grant all on library.* to dog@localhost;
image.png

5. 授予dog对所有数据库所有表的操作权限

image.png
grant insert, delete, update, select on *.* to dog@localhost;
image.png

6. 授予dog创建新用户的权利

mysql> CREATE USER 'cat'@'localhost' IDENTIFIED BY '123456';
1227 - Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation
mysql> 

一开始, dog用户是没有创建用户的权限的

grant create user on *.* to dog@localhost;

之后, 可以成功

mysql> CREATE USER 'cat'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> 
image.png

7. 回收用户dog在library.reader表上的select权限

revoke select on library.reader from dog@localhost;

我不喜欢被人收回权限, 所以就不演示了...

你可能感兴趣的:(第31课 权限管理)