什么是权限管理
不同的身份, 可以干不同的事情
新增加的用户, 权限很少
我们先新建用户dog
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
直接实例
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;
但是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;
3. 授予dog用户在library数据库中的所有表的select权限
grant select on library.* to dog@localhost;
4. 授予dog在library数据库中所有的表操作权限
grant all on library.* to dog@localhost;
5. 授予dog对所有数据库所有表的操作权限
grant insert, delete, update, select on *.* to dog@localhost;
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>
7. 回收用户dog在library.reader表上的select权限
revoke select on library.reader from dog@localhost;
我不喜欢被人收回权限, 所以就不演示了...