MySQL 賦予用戶權(quán)限命令的簡單格式可概括為:
| grant 權(quán)限 on 數(shù)據(jù)庫對象 to 用戶 |
一、grant 普通數(shù)據(jù)用戶,查詢、插入、更新、刪除 數(shù)據(jù)庫中所有表數(shù)據(jù)的權(quán)利
| grant select on testdb.* to common_user@'%' grant insert on testdb.* to common_user@'%' grant update on testdb.* to common_user@'%' grant delete on testdb.* to common_user@'%' |
或者,用一條 MySQL 命令來替代:
| grant select, insert, update, delete on testdb.* to common_user@'%' |
二、grant 數(shù)據(jù)庫開發(fā)人員,創(chuàng)建表、索引、視圖、存儲(chǔ)過程、函數(shù)等權(quán)限
grant 創(chuàng)建、修改、刪除 MySQL 數(shù)據(jù)表結(jié)構(gòu)權(quán)限。
| grant create on testdb.* to developer@'192.168.0.%'; grant alter on testdb.* to developer@'192.168.0.%'; grant drop on testdb.* to developer@'192.168.0.%'; |
grant 操作 MySQL 外鍵權(quán)限:
| grant references on testdb.* to developer@'192.168.0.%'; |
grant 操作 MySQL 臨時(shí)表權(quán)限:
| grant create temporary tables on testdb.* to developer@'192.168.0.%'; |
grant 操作 MySQL 索引權(quán)限:
| grant index on testdb.* to developer@'192.168.0.%'; |
grant 操作 MySQL 視圖、查看視圖源代碼權(quán)限:
| grant create view on testdb.* to developer@'192.168.0.%'; grant show view on testdb.* to developer@'192.168.0.%'; |
grant 操作 MySQL 存儲(chǔ)過程、函數(shù)權(quán)限:
| grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure grant execute on testdb.* to developer@'192.168.0.%'; |
三、grant 普通 DBA 管理某個(gè) MySQL 數(shù)據(jù)庫的權(quán)限
| grant all privileges on testdb to dba@'localhost' |
其中,關(guān)鍵字 “privileges” 可以省略。
四、grant 高級 DBA 管理 MySQL 中所有數(shù)據(jù)庫的權(quán)限:
| grant all on *.* to dba@'localhost' |
五、MySQL grant 權(quán)限,分別可以作用在多個(gè)層次上
1. grant 作用在整個(gè) MySQL 服務(wù)器上:
| grant select on *.* to dba@localhost; -- dba 可以查詢 MySQL 中所有數(shù)據(jù)庫中的表。 grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有數(shù)據(jù)庫 |
2. grant 作用在單個(gè)數(shù)據(jù)庫上:
| grant select on testdb.* to dba@localhost; -- dba 可以查詢 testdb 中的表。 |
3. grant 作用在單個(gè)數(shù)據(jù)表上:
| grant select, insert, update, delete on testdb.orders to dba@localhost; |
|
新聞熱點(diǎn)
疑難解答
圖片精選