• 关于MySQL的用户授权管理


    一、常用示例

    ### 添加全局授权
    mysql > grant all privileges on *.* to 'test'@'%' identified by 'test' with grant option;
    ### 撤销授权
    mysql > revoke all privileges on *.* to 'test'@'%' identified by 'test'
    ### 刷新权限
    mysql > flush privileges;

    其中的具体含义:

    1. all privileges :授权类型,表示全部权限;也可以传入具体的权限名称:select,insert,update,delete;也可以传入列名(列级):select(id,name)。
    2. *.* :授权范围,表示所有库的所有表(全局);也可以传入dbname.*表示指定库的所有表(库级);也可以传入dbname.tbname表示指定库的指定表(表级)。
    3. 'test'@'%' :@符前面的是登录名,后面的是允许登录的客户端地址表达式,%占位符表示全部;也可以传入192.168.%表示仅允许内网登录。
    4. identified by 'test' :引号中的字符为登录密码。
    5. with grant option :可选,带上这几个单词表示当前接受授权的用户可将权限向其他用户继续授权。

    二、查看授权

    不同级别的授权信息,保存在了不同的表中:

    1. 全局:mysql.user
    2. 库级:mysql.db
    3. 表级:mysql.tables_priv
    4. 列级:mysql.columns_priv

    因此,想要查询授权信息,就要首先确定要查询的目标层级,比如查询 dbuser 用户全局的授权信息:

    mysql > SELECT * FROM mysql.user WHERE user='dbuser'G;

    其中的具体含义:

    1. mysql.user :因为要查询全局级,因此要在mysql.user表中查询。如果是库级则为mysql.db
    2. G :表示将结果进行换行显示


    宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒
  • 相关阅读:
    putty设置用key自动登录
    linux快速进入全屏命令行模式
    二维数组的指针
    vim编写Bash脚本
    使用cat命令添加或附加多行文本
    Linode中的Network Helper
    网络通信框架之retrofit
    网络通信框架之okHttp
    网络通信框架之okHttpUtils
    Volley源码分析
  • 原文地址:https://www.cnblogs.com/netWild/p/14469003.html
Copyright © 2020-2023  润新知