• 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)等

    微信公众号
  • 相关阅读:
    LINUX监控一:监控命令
    Kettle并行
    KETTLE集群搭建
    Solr报错Index locked for write for core '***'. Solr now longer supports forceful unlocking via 'unlockOnStartup'
    Solr json,xml等文件数据导入(添加索引)linux下操作
    python对solr进行查询、插入操作(GETPOST)
    Solr-5.3.1 dataimport 导入mysql数据
    解决MySQL数据导入报错Got a packet bigger than‘max_allowed_packet’bytes
    解决防火墙限制远程连接MySQL(导致错误10060可能之一)
    gensim加载word2vec训练结果(bin文件)并进行相似度实验
  • 原文地址:https://www.cnblogs.com/zhujingzhi/p/9627903.html
Copyright © 2020-2023  润新知