1,Clobal Level:它是针对整个mysql数据库服务器的全局权限。对mysql里的某个数据库,或某个数据库的某张表的权限。所有的权限信息都存在mysql.user这张表中。
全局权限的设置语句:
1
|
GRANTALLON*.*to'root'@'localhost'
|
2,Database Level: 数据库级别的权限,通过databasename.* 设置权限。设置语句如下:
1
|
GRANTALLONdatabasename.*to'root'@'localhost'
|
1
2
|
GRANTSELECTontest.*to'root'@'localhost';
REVOKESELECTON*.*FROM'root'@'localhost';
|
3,Table Level:表级别的权限能被全局权限和数据库级别权限覆盖
1
2
|
GRANTSELECTONtest.testto'root'@'localhost';
SHOW GRANTSFOR'root'@'localhost';
|
1
|
GRANTSELECTONtestto'root'@'localhost';
|
4,Column Level:表的某个列的权限。它会被前面三个权限给覆盖掉
1
|
GRANTSELECT(id)ONtestto'root'@'localhost';
|
5,Routine Level:是针对函数和存储过程的权限,他会被1,2,3个权限给覆盖掉。
1
|
GRANTEXECUTEONtest.pto'root'@'localhost';
|