mysql用户权限管理

前言

  业务场景描述:我们在不同的项目中给不同的角色(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;

你可能感兴趣的:(mysql用户权限管理)