Mysql 创建&删除用户、授权、撤权、查权

为了增加数据库的安全性,在正常使用环境中,需要给特定用户(如:开发工程师)授予一定权限来操作数据库,而非直接用超级管理员root的权限。

1.首先以root权限创建一个普通用户
create user 'test001'@'192.168.0.3' identified by '123456';
所创建的用户test001默认会添加到mysql库的user表中


此时,用户test001连接mysql后只能使用极少量的权限,因此还需要对用户授权




2.为所创建的用户授权
先为用户test001授予操作数据库dbTest的(增、删、改)权限
grant insert,delete,update on dbTest.* to test001@'192.168.0.3';


退出Mysql连接后,重新以普通用户test001的身份连接Mysql


继续增加对test001授予SELECT权限
grant select on dbTest.* to test001@'192.168.0.3';


再次退出Mysql连接,然后再以test001的身份连接Mysql




3.为所创建的用户撤销权限
撤销用户test001的SELECT权限
revoke select on dbTest.* from 'test001'@'192.168.0.3';


同样的,先退出test001与Mysql的连接,然后再重新连接。此时,撤销了test001的SELECT权限之后,已不能查询





PS:以上分步骤先创建用户、再对用户授权的过程,还可以吧这两个过程合二为一,只用一条DCL的语句即可实现同样的效果,如下所示:
grant insert,delete,update,select on dbTest.* to 'test002'@'127.0.0.1' identified by '111111'
创建用户test002的同时就把增删改查的权限授予


test002用户使用SELECT查询的效果,可正常使用,说明创建用户的同时进行授权的方式是有效的





4.查看权限
show grants for 'test001'@'192.168.0.3';
查看指定用户的权限有哪些


5.删除所创建的用户
drop user 'test002'@'127.0.0.1';


上一篇: SQL基础-DDL语句 下一篇: MySql性能优化