文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

什么是mysql的权限控制机制

2024-04-02 19:55

关注

本文主要给大家介绍什么是mysql的权限控制机制,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下什么是mysql的权限控制机制吧。

权限控制机制        
四张表:user   db    tables_priv  columns_priv      privilege特权
mysql<select  from user\G
mysql<select  from db\G
mysql<select  from tables_priv\G
mysql<select * from columns_priv\G
1.用户认证
查看mysql.user表
2.权限认证
以select权限为例:
先看        user表里的select_priv权限
Y  不会接着查看其他的表  拥有查看所有库所有表的权限
N  接着看db表
db  
Y  不会接着查看其他的表  拥有查看所有库所有表的权限
N  接着看tables_priv表
tables_priv
table_priv:  如果这个字段的值里包括select  拥有查看这张表所有
字段的权限,不会再接着往下看了
table_priv:如果这个字段的值里不包括select,接着查看下张表
还需要有column_priv字段权限

                                                columns_priv 
                                                                column_priv:  有select,则只对某一列有select权限
                                                                         没有则对所有库所有表没有任何权限

db:
mysql> insert into db(host,db,user,Select_priv) values("10.18.44.%",'data','ying','Y');

tables_priv:
mysql> insert into tables_priv(host,db,user,table_name,table_priv) values('10.18.44.%','data','ying','t1','Select,insert');

columns_priv:
mysql> insert into columns_priv(host,db,user,table_name,column_name,column_priv) values('10.18.44.%','data','ying','t1','id','select');

host,db,user,Select_priv
host,db,user,table_name,table_priv
host,db,user,table_name,column_name,column_priv

刷新权限:两种方式
修改表之后需要刷新权限
方式1:
mysql > flush privileges;          
方式2:

mysqladmin flush-privileges -u root -p1

五表联动(5.7取消了host表)      
user表
登录认证:用户能否进mysql查看user
权限认证:如果能进,看user表的权限有没有,没有就看下一个db表,db表没有看tables_priv,tables_priv没有就去看columns_priv

当db表的host字段为空的时候才会用到host表
db或者host 任何一个select是N,都是没权限

使用命令授权:grant  
也可创建新账户(不过后面的版本会移除这个功能,建议使用create user)  
语法格式:
grant 权限列表  on 库名.表名 to '用户名'@'客户端主机'  [identified by '密码'  with option参数];
==权限列表      all         所有权限(不包括授权权限)
select,update  
select(col1), insert(col1,col2)         Column level

==数据库.表名    *.*         所有库下的所有表                  Global level
                        web.*       web库下的所有表                 Database level
                        web.stu_info    web库下的stu_info表   Table level

==客户端主机              %                          所有主机
                                    192.168.2.%         192.168.2.0网段的所有主机
                                    192.168.2.168           指定主机
                                    localhost                指定主机

with_option参数
GRANT OPTION:                                       授权选项
MAX_QUERIES_PER_HOUR:                   定义每小时允许执行的查询数
MAX_UPDATES_PER_HOUR:                   定义每小时允许执行的更新数
MAX_CONNECTIONS_PER_HOUR:         定义每小时可以建立的连接数
MAX_USER_CONNECTIONS:                  定义单个用户同时可以建立的连接数

mysql> grant select(id),insert(id) on wing.t1 to 'xiaowu'@'172.16.70.%' identified by '123';
mysql> grant select,insert on wing.t1 to 'xiaowu'@'172.16.70.%' identified by '123';        
mysql> grant all on wing.t1 to 'xiaowu'@'172.16.70.%' identified by '123';            
mysql> grant all on  . to 'xiaowu'@'172.16.70.%' identified by '123';                
mysql> grant all on  . to 'xiaowu'@'172.16.70.%' ;
mysql> grant all on  . to 'xiaowu'@'%';

查看权限
看自己的权限:
SHOW GRANTS\G

看别人的权限:
SHOW GRANTS FOR admin1@'%'\G  

撤销权限:revoke
语法:
REVOKE 权限列表 ON 数据库名 FROM 用户名@‘客户端主机’

mysql> revoke all on *.* from 'xiaowu'@'%';
mysql> revoke delete on *.*  from admin1@’%’;                                   //回收部分权限
REVOKE ALL PRIVILEGES  ON *.*  FROM admin2@’%’;                             //回收所有权限

REVOKE ALL PRIVILEGES,GRANT OPTION  ON *.* FROM 'admin2'@'%';

看完以上关于什么是mysql的权限控制机制,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的数据库栏目的。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯