mysql的權限級別
來源:程序員人生 發布時間:2014-11-19 08:41:45 閱讀次數:3119次
mysql有5個級別的權限,分別是:
Clobal Level,Database Level,Table level,Column Level,Routine Level。
1,Clobal Level:它是針對全部mysqlhttp://www.vxbq.cn/db/http://www.vxbq.cn/server/的全局權限。對mysql里的某個http://www.vxbq.cn/db/,或某個http://www.vxbq.cn/db/的某張表的權限。所有的權限信息都存在mysql.user這張表中。

全局權限的設置語句:
GRANT ALL ON *.* to 'root'@'localhost'
第1個*代表http://www.vxbq.cn/db/名,這里是所有的http://www.vxbq.cn/db/,第2個*代表表名。
全局權限有ALTER ALTER ROUTINE CREATE ALL CREATE ROUTINE CREATE TEMPORARY TABLES CREATE USER CREATE VIEW DELETE All DROP All EXECUTE FILE All INTO FILE INDEX All INSERT All LOCK TABLES PROCESS All RELOAD All REPLICATION CLIENT SLAVE STATUS REPLICATION SLAVE SELECT
SHOW DATABASES SHOW VIEW view SHUTDOWN SUPER UPDATE USAGE
2,Database Level: http://www.vxbq.cn/db/級別的權限,通過databasename.* 設置權限。設置語句以下:
GRANT ALL ON databasename.* to 'root'@'localhost'
它會被global level的權限給覆蓋掉,如有兩條以下的權限設置語句:
GRANT SELECT on test.* to 'root'@'localhost';
REVOKE SELECT ON *.* FROM 'root'@'localhost';
'root'@'localhost'將不再對test具有select權限。
http://www.vxbq.cn/db/權限有: CREATE USER,FILE,PROCESS,RELOAD,REPLICATION CLIENT,REPLICATION SLAVE,SHOW DATABASES,SHUTDOWN,SUPER USAGE
3,Table Level:表級別的權限能被全局權限和http://www.vxbq.cn/db/級別權限覆蓋
GRANT SELECT ON test.test to 'root'@'localhost';
SHOW GRANTS FOR 'root'@'localhost';
可以通過use選中某個http://www.vxbq.cn/db/,直接對table名設置權限
GRANT SELECT ON test to 'root'@'localhost';
表的權限有:ALTER,CREATE,DELETE,DROP,INDEX,INSERT,SELECT UPDATE
4,Column Level:表的某個列的權限。它會被前面3個權限給覆蓋掉
GRANT SELECT(id) ON test to 'root'@'localhost';
字段級別的權限有INSERT,SELECT ,UPDATE
5,Routine Level:是針對函數和存儲進程的權限,他會被1,2,3個權限給覆蓋掉。
GRANT EXECUTE ON test.p to'root'@'localhost';
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈