前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL权限

MySQL权限

作者头像
张申傲
发布2020-09-03 16:17:20
3.3K0
发布2020-09-03 16:17:20
举报
文章被收录于专栏:漫漫架构路漫漫架构路

MySQL权限

一. 用户标识

用户标识= 用户名+ IP

二. 用户权限相关的表

  1. mysql.user:一行记录代表一个用户标识(用户名+ip)
  2. mysql.db:一行记录代表一个数据库的权限
  3. mysql.tables_priv:一行记录代表对表的权限
  4. mysql.columns_priv:一行记录代表对某一列的权限

三. 权限相关的常用命令

  1. 为用户授权
代码语言:javascript
复制
#为用户dev授权,允许查询architect库下的account表的id和name列 grant SELECT(id,name) on architect.account TO 'dev';
  1. 查询用户权限
代码语言:javascript
复制
#查看用户dev被赋予的所有权限 show grants for dev;
  1. 取消对用户的授权
代码语言:javascript
复制
REVOKE SELECT(id,name) on architect.account TO 'dev';

四. MySQL的角色

  1. MySQL中的角色本质上就是用户(Role Like)。
  2. 查询角色相关变量
代码语言:javascript
复制
show variables like '%proxy%';
  1. 开启角色代理
代码语言:javascript
复制
set GLOBAL check_proxy_users =1; set GLOBAL mysql_native_password_proxy_users = 1;
  1. 创建一个角色:dev_role
代码语言:javascript
复制
create USER 'dev_role'
  1. 创建2个开发用户
代码语言:javascript
复制
create USER 'rd1'; create USER 'rd2';
  1. 把这2个用户加到用户组中
代码语言:javascript
复制
grant proxy on 'dev_role' to  'rd1'; grant proxy on 'dev_role' to  'rd2';
  1. 查看rd1的权限,发现rd1已经属于dev_role角色
代码语言:javascript
复制
show grants from 'rd1';
  1. 为用户组授权(也即为用户组所对应的用户本身授权)
代码语言:javascript
复制
grant select(id,name) on architect.account to 'dev_role';
  1. 这样一来,该用户组下的所有用户都具有的相同的权限。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL权限
    • 一. 用户标识
      • 二. 用户权限相关的表
        • 三. 权限相关的常用命令
          • 四. MySQL的角色
          相关产品与服务
          访问管理
          访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档