业务场景描述:我们在不同的项目中给不同的角色(mysql客户端用户,通常为开发者)不同的权限,为了保证数据库的数据安全。
create user '用户名'@'主机地址' identified by '明文密码'; %为ip 统配任意ip使用这个用户都可以访问。
eg:create user 'tjh'@'%' IDENTIFIED by 'tjhmm'
drop user 'tjh'@'%'
mysql中提供了多种修改密码的方式,基本上都必须使用对应提供的一个系统函数:password()。需要靠该函数对密码进行加密处理。
方式一:使用专门的SQL指令来修改密码
set password for 用户名 = password('新的明文密码');
eg:set password for 'tjh' = password('tjh');
image.png
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
show grants for 用户
eg:show grants for tjh
image.png
revoke 权限列表 on 数据库.表名 from 用户@'ip';
image.png
将当前对用户的权限操作,进行一个刷新,将操作的具体内容同步到对应的表中。
flush privileges;