欢迎光临
我们一直在努力

mysql-权限管理

一、grant 授权(创建用户并授权,此方式创建的用户拥有创建数据库、表等):

grant 权限类型 on 库.表/函数/存储过程 to ‘用户名’@’主机’ [ identified by ‘testpass’];

其中,权限类型all表示所有权限,all包含:create,drop,insert,update,delete,select等等。

例1、将mydb库的students表的所有权限授权给 ‘testuser’@’192.168.%.%’,并设置秘密为testpass:

grant all on mydb.students to ‘testuser’@’192.168.%.%’ identified by ‘testpass’;

例2、将"所有库的所有表/函数/存储过程"的所有权限授权给’testuser’@’192.168.%.%’并设置秘密为testpass:

grant all on *.* to ‘testuser’@’192.168.%.%’ identified by ‘testpass’;

例3、将mydb库的所有表的select权限授权给’readonly’@’%’,即’readonly’@’%’只有查询权限。

grant select on mydb.* TO ‘readonly’@’%’

二、权限类型:

1、管理类权限:create user,file,show databases,super,

reload,shutdown,processlist,replication slave,

replication client,lock tables;

2、库级别和表级别权限:alter,create,create view,drop,execute,

index,grant,show view

3、数据操作(表级别):select,insert,update,delete

4、字段级别:select(col1,…),insert(col1,…),update(col1,…)

三、查看某个用户的权限:

show grants for ‘用户名’@’主机’;

四、revoke 收回权限:

revoke 权限类型 on 库.表/函数/存储过程 from ‘用户名’@’主机’;

如:将收回用户’testuser’@’localhost’所有权限。

revoke all on *.* from ‘testuser’@’localhost’;

五、mysql库中与用户授权相关的表:

db:库级别的权限。

tables_priv:表级别的权限。

colomns_priv:列级别的权限。

procs_priv:存储过程和存储函数相关的权限。

proxies_priv:代理用户相关的权限。

六、flush:

1、flush privileges:刷新授权,一般用于对某账户授权后,使其立即生效。

2、flush hosts:清空host,一般用于因账户信息记不太清楚当连接数据库几次一直失败,那么当 获得正确账户信息连接被拒绝时,就需要执行flush host.

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。