zoukankan      html  css  js  c++  java
  • 关于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 :表示将结果进行换行显示


    宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒
  • 相关阅读:
    《ASP.NET Core 高性能系列》致敬伟大的.NET斗士甲骨文!
    ThreadLocal<T>的是否有设计问题
    从.NET和Java之争谈IT这个行业
    自建型呼叫中心
    托管型呼叫中心
    数字语音记录仪3.0
    模拟电话录音系统2.0
    easyui-combobox 下拉菜单 多选 multiple
    利用easyui-combotree实现 下拉菜单 多选功能(带多选框)
    eclipse项目导入 idea中
  • 原文地址:https://www.cnblogs.com/netWild/p/14469003.html
Copyright © 2011-2022 走看看