什麼是許可權管理
不同的身份, 可以幹不同的事情
新增加的使用者, 許可權很少
我們先新建使用者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;
複製程式碼
我不喜歡被人收回許可權, 所以就不演示了...