`
ahopedog2
  • 浏览: 25173 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql权限管理

阅读更多

权限层级
1:全局层级
适用于服务器中的所有数据库,权限存储在mysql.user表中
grant all on *.*
revoke all on *.*

2:数据库层级 适用于一个数据库中的所有对象,权限存储在mysql.db和host表中
grant all on db_name.*
revoke all on db_name.*

3:表层级 使用于一个表中的所有列,权限存储在mysql.tables.priv表中
grant all on db_name.table_name
revoke all on db_name.table_name

4:列层级 使用于一个表中的单个列,权限存储在mysql.columns.priv表中

5:子程序层级 CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT权限适用于已存储的子程序。这些权限可以被授予为全局层级和数据库层级。而且,除了CREATE ROUTINE外,这些权限可以被授予为子程序层级,并存储在mysql.procs_priv表中。

 

 

权限类型

select 使用select语句查询表
insert 使用insert语句向表中插入记录
update 使用update语句更新记录
delete 使用delete语句删除表中的记录
all[privileges] 设置除grant option之外的所有简单权限
alter 允许使用alter table修改表结构, 验证语句: alter table a.b modify id int;
create 允许使用create table语句创建表。验证语句:create table a.b(id int);
create routine 创建存储过程。
create temporary tables 允许使用create temporary table。
create view 允许使用create view。验证语句:CREATE VIEW b.v1 AS SELECT * FROM b.a;
create user 允许使用create user, drop user, rename user和revoke all privileges。
drop 允许使用drop table
execute 允许用户运行存储过程。
file 允许使用select...into outfile和load data infile。
index 允许使用create index, drop index
lock tables 允许对拥有select权限的表使用lock tables。
process 允许使用show full processlist。
reload 允许使用flush。验证语句:flush privileges。
replication client 允许用户询问从属服务器或主服务器的地址
replication slave 用于复制型从属服务器(从主服务器中读取二进制日志事件)
show databases 允许使用show databases显示所有数据库
show view 允许使用show create view
shutdown 允许使用mysqladmin shutdown
grant option 允许授予权限

 

 

 

#分配权限示例:
格式:grant <权限> on <数据库.表> to <用户名>@<访问位置> identified by '<密码>';

本机访问
grant all privileges on dbname.* to username@localhost identified by '1234';

 

172.19.12段ip访问
grant all privileges on dbname.* to username@172.19.12.% identified by '1234';

 

所有IP访问
grant all privileges on dbname.* to username@% identified by '1234';


给用户user1赋予在数据库db1上所有表的select, insert, delete, update权限
GRANT SELECT, INSERT, UPDATE, DELETE ON db1.* TO user1@localhost;

 

删除用户user1在数据库db1上所有表上的select, insert, delete, update权限
REVOKE SELECT, INSERT, UPDATE, DELETE ON b.* FROM a@localhost;

 

/*分配普通用户权限*/
GRANT SELECT, INSERT, UPDATE, DELETE ON b.* TO a@localhost;

 

/*分配管理用户权限*/
GRANT ALL ON b.* TO b@localhost;

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics