MYSQL权限:
一.mysql授权grant和撤权revoke的权限:
all [privileges]:设置除grant option之外的所有简单权限;
alter:允许使用alter table;
alter routine:更改或取消已存储的子程序;
create:允许使用create tabl;
create routine:创建已存储的子程序;
create temporary tables:允许使用create temporary table;
create user:允许使用create user,drop user,rename user和revoke all privileges;
create view:允许使用create view;
delete:允许使用delete;
drop:允许使用drop table;
execute:允许用户运行已存储的子程序;
file:允许使用select...into outfile和load data infile;
index:允许使用create index和drop index;
insert:允许使用insert;
lock tables:允许对用户拥有select权限的表使用lock tables;
process:允许使用show full processlist;
references:未被实施;
reload:允许使用flush;
replication client:允许用户询问从服务器或主服务器的地址;
replication slave:用于复制型从服务器(从主服务器中读取二进制日志事件);
select:允许使用select;
show databases:显示所有数据库;
show view:允许使用show create view;
shutdown:允许使用mysqladmin shutdown ;
super:允许使用change master,kill,purge master logs和set global语句,mysqladmin debug命令,允许用户连接(一次),及时以达到max_connections;
update:允许使用update;
usage:“无权限”的同义词;
grant option:允许授予权限;
二.授予的权限可以分为多个层级:
1.全局层级:全局权限适用于一个给定服务器中的所有数据。这些权限存储在mysql.user表中。grant all on *.*和
revoke all on *.*只授予和撤销全局权限;
2.数据库层级:数据库权限适用于一个给定数据库中的所有目标。这些权限存储在mysql.db和mysql.host表中。
grant all on dn_name.*和revoke all on db_name.*只授予和撤销数据库权限;
3.表层级:表权限适用于一个给定表中的所有列。这些权限存储在mysql.tables_priv表中。grant all on db_name.tb_name
和revoke all on db_name.tb_name之授予和撤销表权限;
4.列层级:列权限适用于一个给定表中的单一列。这些权限存储在mysql.columns_priv表中。当使用revoke时,用户必须指定与被授权列相同的列;
5.子程序层级:create routine,alter routine,execute和grant权限适用于一存储的子程序。这些权限可以被授予为全局层级和数据库层级,而且,除了create routine外,这些权限可以被授予为子程序层级,并存储在mysql.procs_prriv表中;
三.权限更改何时生效
1.以管理员的身份登录进入MYSQL,在MYSQL命令提示符下输入:
flush privileges;
2.在操作系统的shell下运行:
mysqladmin flush-privileges
3.在操作系统的shell下运行:
mysqladmin reload
阅读(409) | 评论(0) | 转发(0) |