zoukankan      html  css  js  c++  java
  • MySQL权限管理(五)

    一、什么是MySQL权限

      各大帖子及文章都会讲到数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话。因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪些权限。 现在很多mysql用着root账户在操作,并不是大家不知道用root权限太大不安全,而是很多人并不知道该给予什么样的权限既安全又能保证正常运行。所以,本文更多的是考虑这种情况下,我们该如何简单的配置一个安全的mysql。

    mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表。

    mysql权限表的验证过程为:

      1.先从user表中的Host,User,Password这3个字段中判断连接的ip、用户名、密码是否存在,存在则通过验证。

      2.通过身份认证后,进行权限分配,按照user,db,tables_priv,columns_priv的顺序进行验证。即先检查全局权限表user,如果user中对应的权限为Y,则此用户对所有数据库的权限都为Y,将不再检查db, tables_priv,columns_priv;如果为N,则到db表中检查此用户对应的具体数据库,并得到db中为Y的权限;如果db中为N,则检查tables_priv中此数据库对应的具体表,取得表中的权限Y,以此类推。

    二、MySQL具体的权限

    三、数据库层面(db表)的权限分析及分配建议

     四、配置权限需要的SQL

    查看用户的权限
    show grants for brian@'localhost';
    
    用户授权(两种方法)
    1、创建用户然后授权
    创建用户
    help create user;
    create user brian@'localhost' identified by '123456';
    # 授权
    help grant;
    所有权限库的所有表
    create user brian@'localhost' identified by '123456';
    grant all on briandata.* to brian@'localhost';
    
    2、一条命令授权
    grant all on briandata.* to brian@'localhost' identified by '123456';
    
    根据网段和IP进行授权
    grant all on briandata.* to brian@'192.168.10.%' identified by '123456';
    grant all on briandata.* to brian@'192.168.10.0/255.255.255.0' identified by '123456';
    
    
    回收权限(revoke)
    revoke insert on briandata.* from 'brian'@'localhost';
    
    # 查看用户的权限(对应的权限会变成Y)
    select * from mysql.user\G;
    

      

    作者:朱敬志

    -------------------------------------------

    个性签名:在逆境中要看到生活的美,在希望中别忘记不断奋斗

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!

    支付宝 微信

    也可以关注我的微信公众号,不定时更新技术文章(kubernetes,Devops,Python)等

    微信公众号
  • 相关阅读:
    Eclipse 导入项目乱码问题(中文乱码)
    sql中视图视图的作用
    Java基础-super关键字与this关键字
    Android LayoutInflater.inflate(int resource, ViewGroup root, boolean attachToRoot)的参数理解
    Android View和ViewGroup
    工厂方法模式(java 设计模式)
    设计模式(java) 单例模式 单例类
    eclipse乱码解决方法
    No resource found that matches the given name 'Theme.AppCompat.Light 的完美解决方案
    【转】使用 Eclipse 调试 Java 程序的 10 个技巧
  • 原文地址:https://www.cnblogs.com/zhujingzhi/p/9627903.html
Copyright © 2011-2022 走看看