权限管理
根据不同的用户进行横向和纵向的分组
横向的分组 用户可以接触到的数据的范围
纵向的分组 用户对接触到的数据能访问到什么程度
把具有相同数据访问范围和程度的用户分为不同的类别 这种类别叫做角色
通过角色对相同权限的用户进行分组管理 可以使权限管理更加简单高效
角色相当于一个权限的集和 方便管理拥有相同权限的用户
1)创建角色
角色名是角色名称加主机名称 默认角色没有权限
create role 角色名;
比如创建一个经理的角色
create role 'manager'@'localhost'; // 当前计算机登录
create role 'manager'; //可以从任何一台主机登录
2)给角色授权
grant 权限 on 表名 to 角色名;
比如 只读 增删改查权限
grant select,insert,delete,update on 表 to 角色;
3)查看角色权限
show grants for 角色;
4)删除角色
drop role 角色名称;
5)创建用户
create user 用户名 [identified by 密码];
[] 表示可选 可以指定用户登录时需要密码 也可以不指定密码
6)给用户授权
把角色赋予用户
grant 角色名称 to 用户名称;
直接给用户授权
grant 权限 on 表名 to 用户名;
7)查看用户权限
show grants for 用户名;
注: mysql创建了角色之后,默认都是没有激活的
8)对所有角色永久激活
set global activate_all_roles_on_login=on;
9)删除用户
drop user 用户名;