zoukankan      html  css  js  c++  java
  • MySQL8.0 + 角色管理

    MySQL 角色管理

    创建角色

    create role test_role@'%';
    

    授权角色

    grant select,insert,update,delete on testdb.* to test_user;
    

    将角色分配给用户

    create user 'test'@'192.168.1.1' identified by '';
    create user 'test1'@'192.168.1.2' identified by '';
    grant test_user to 'test'@'192.168.1.1','test1'@'192.168.1.2';
    

    激活角色

    SET DEFAULT ROLE test_user to 'test1'@'192.168.1.2';
    SELECT current_role();
    

    这种"激活"角色的方法可以让用户拥有角色所拥有的权限,但是不难看出来,每次给新建用户绑定一个角色,在新建用户登录之前,都得将该用户激活一下,从操作上看不是特别方便,如何让所有的指定的角色都即时生效呢?

    MySQL提供了一个系统参数来解决这个问题,该参数是:

    mysql> show variables like '%activate%';
    +-----------------------------+-------+
    | Variable_name               | Value |
    +-----------------------------+-------+
    | activate_all_roles_on_login | OFF   |
    +-----------------------------+-------+
    1 row in set (0.00 sec)
     
     
    # 该参数是默认关闭的,直接打开即可。
    set global activate_all_roles_on_login=on;
    # 持久化
    sed -i  '79iactivate_all_roles_on_login                 = on' /data/db/mysql3306/my.cnf
     
    # mysql8.0 永久生效,并写入 mysql 的 datadir 的  mysqld-auto.cnf 文件中
    set persist activate_all_roles_on_login=on;
    

    撤销角色

    REVOKE INSERT, UPDATE, DELETE ON testdb.* FROM test_user;
    

    删除角色

    DROP ROLE test_user;
    

  • 相关阅读:
    Oracle性能优化--DBMS_PROFILER
    Oracle性能优化--AUTOTRACE 操作
    浅谈SQL中的单引号
    pgadmin(IDE)工具连接postgres数据库
    Linux下的PostgreSQL简单安装手册
    es6常用方法总结
    vue下axios和fetch跨域请求
    作用域和作用域链
    ES5函数新增的方法(call、apply、bind)
    js递归和数组去重(简单便捷的用法)
  • 原文地址:https://www.cnblogs.com/carry00/p/14354916.html
Copyright © 2011-2022 走看看