MySQL--如何授权、撤权用户的访问权限
在实际的开发、测试、生产环境当中,对于关系型数据库mysql,通过给用户授权、撤权统一权限、方便管理。
本文结合实际,实践操作mysql用户授权、撤权,并记录了其过程和说明,方便后续开发及运维翻阅。
目录
一、授权
授权指令
grant 权限范围 on 库表范围 to '用户名'@'主机IP' identified by '用户密码' 权限传递标识
1、授权test用户所有IP访问
连接mysql
#mysql -uroot -p
Enter password:
执行授权指令
mysql>grant all privileges on *.* to 'admin'@'%' identified by 'adminpassword' with grant option;
刷新权限后生效
mysql>flush privileges;
参数说明
grant #表示授权
all privileges #表示权限范围是所有权限,即超级管理员权限,可以指定权限,如查、删、增、改等权限:grant select,delete,insert,update...
on *.* #表示权限生效于所有数据库、数据表,指定数据库、数据表,如:grant all privileges on db_name.table_name
to 'admin'@'%' #表示授权访问的用户名及主机,%表示所有主机,可以指定具体IP,如to 'root'@'192.168.0.1/255.255.255.0'
identified by 'rootpassword' #表示授权访问的用户密码
with grant option #表示权限传递标识,授权用户可以将自己拥有的权限,授权给别的用户,实际当中一般除了管理员、root用户,普通用户一般不添加此标识。
2、授权test用户指定IP访问
mysql>grant all privileges on *.* to 'test'@'192.168.0.1/255.255.255.0' identified by 'testpassword' with grant option;
授权test用户本地连接访问权限
mysql>grant all privileges on *.* to 'test'@'localhost' identified by 'testpassword' with grant option;
刷新权限后生效
mysql>flush privileges;
查看用户
mysql> select user,authentication_string,host from user;
二、撤权
1、撤权test用户所有IP访问
mysql>revoke all on *.* from test@'%';
2、撤权test用户指定IP访问
mysql>revoke all on *.* from test@'192.168.0.1/255.255.255.0';
mysql> flush privileges;
mysql对于已经建立的连接,无论是授权还是撤权,都不会影响到当前已连接用户的权限,重新连接后权限才会被刷新。
重新连接验证已撤权test用户
mysql>use mysql;
mysql>select * from user;
提示:[Err] 1142 - SELECT command denied to user 'test'@'192.168.0.1/255.255.255.0' for table 'user'
查询都没有权限操作了,表明撤权后的用户,用户被撤销了所有操作权限,不过用户表中还是存在该条用户信息,因此还可以正常连接登录到mysql
而且revoke all时,grant赋予给用户的传递权限with grant option,并不会被撤权,需手动update记录,对应用户表grant_priv字段
mysql>select user,host,grant_priv from user where user = 'test' and host = '192.168.0.1/255.255.255.0';
mysql>update user set grant_priv = 'N' where user = 'test' and host = '192.168.0.1/255.255.255.0';
mysql>flush privileges;
彻底删除test用户
mysql>use mysql;
mysql>delete from user where user = 'test' and host = '192.168.0.1/255.255.255.0';
查看用户
mysql> select user,authentication_string,host from user;
文章来源: blog.csdn.net,作者:吾日三省贾斯汀,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/JustinQin/article/details/78395449
- 点赞
- 收藏
- 关注作者
评论(0)