欢迎投稿

今日深度:

mysql权限操作,

mysql权限操作,


@目录

  • 什么是权限
  • 有哪些权限
  • Mysql8之前
  • Mysql8
    • 创建角色
    • 给角色授权
    • 创建用户, 将权限 授予用户
    • 激活角色
    • 删除 指定权限
    • 删除用户

什么是权限

限制一个用户能够做什么事情,在MySQL中,可以设置全局权限,指定数据库权限,指定表权限,指定字段权限

有哪些权限


Mysql8之前

创建用户:

create user '用户名'@'localhost' identified by '密码';

删除用户:

DROP USER 用户名称

分配权限:

GRANT 权限 (columns) ON 数据库对象 TO 用户 IDENTIFIED BY "密码" WITH GRANT OPTION

Mysql8

MySQL8新增了角色(role)的概念,使账号权限的管理,更加灵活方便。 角色,就是一些权限的集合。然后再把角色授权给某个账户

创建角色

create role 'app_dev','app_read','app_write';

查询授权情况

show grants for 'app_dev';

在这里插入图片描述
USAGE “无权限”
就是让你这个用户可以像个用户似的登录,但是除了能看到有哪些数据库外,什么权限也没有

创建的角色也和账号一样保存在mysql.user表中

select * from mysql.user;

给角色授权

给指定角色权限

grant select,insert,update,delete on *.* to app_dev;
grant select on mydb.* to app_read;
grant insert,update,delete on mydb.* to app_write;

创建用户, 将权限 授予用户

create user myuser2 identified with mysql_native_password by 'myuser2';
  1. 分配角色
grant app_write to myuser2;
  1. 查询用户对应的角色
show grants for myuser1;

在这里插入图片描述
看到的是角色,并不是具体的权限
如果要查看具体的权限则需要这样执行show grants

show grants for myuser2 using app_dev

通过使用using app_dev,会将账号和角色的权限一并显示
4. 可以继续给角色添加权限

grant create on mydb.* to app_dev;

激活角色

查看当前角色

select current_role()

激活指定用户授权的所有角色

set default role all to myuser1

删除 指定权限

revoke  create on sys.* from '角色名称'@'127.0.0.1'; 
revoke all  on sys.* from 'app_dev'@'127.0.0.1'; 

删除用户

drop user '用户名'@'127.0.0.1';

www.htsjk.Com true http://www.htsjk.com/Mysql/42965.html NewsArticle mysql权限操作, @目录 什么是权限 有哪些权限 Mysql8之前 Mysql8 创建角色 给角色授权 创建用户, 将权限 授予用户 激活角色 删除 指定权限 删除用户 什么是权限 限制一个用户能够做什么...
相关文章
    暂无相关文章
评论暂时关闭