前言
业务场景描述:我们在不同的项目中给不同的角色(mysql客户端用户,通常为开发者)不同的权限,为了保证数据库的数据安全。
1、创建用户
create user '用户名'@'主机地址' identified by '明文密码'; %为ip 统配任意ip使用这个用户都可以访问。
eg:create user 'tjh'@'%' IDENTIFIED by 'tjhmm'
2.删除用户
drop user 'tjh'@'%'
3、修改用户密码
mysql中提供了多种修改密码的方式,基本上都必须使用对应提供的一个系统函数:password()。需要靠该函数对密码进行加密处理。
方式一:使用专门的SQL指令来修改密码
set password for 用户名 = password('新的明文密码');
eg:set password for 'tjh' = password('tjh');
image.png
4.给用户授权
mysql中将权限分3类:数据权限、结构权限、管理权限
数据权限:增删改查(select/update/delete/insert)
结构权限:结构操作(create/drop)
管理权限:用户操作权限(create user/grant/revoke)
常用权限:all、create、drop、select、insert、delete、update
grant 权限列表 on 数据库.表名 to 用户@'ip';
eg:
grant all on mid_scsio.qy_staff to 'tjh'@'%';
tjh这个用户只有qy_staff这个表的数据权限
grant select,create on mid_scsio.qy_staff to 'tjh'@'%';
image.png
5用户权限查看
show grants for 用户
eg:show grants for tjh
image.png
6.revoke:权限回收
revoke 权限列表 on 数据库.表名 from 用户@'ip';
image.png
7、flush:刷新权限
将当前对用户的权限操作,进行一个刷新,将操作的具体内容同步到对应的表中。
flush privileges;
网友评论