另外还有很多公司有钱也要用mysql,还是举例来说:
全世界访问量最大的20家公司,他们有钱吧? 仅仅两家不是使用的mysql,分别是live.com和bing,为啥? 因为它是微软,它得支持自己的MsSql。
另外再看张图:
他们也全都是使用mysql,所以,我也讲mysql。
2. 最简单的MySql权限
最简单也是最高效的,如果解决新手们删库跑路的问题其实也是很简单的,对于正式库只给一个增删改查的权限,或者只给一个查询权限(是不是就解决了删库的可能性?)
以下内容如果看官是大牛,请稍安勿躁,我讲内容的方式是从简单到入门,从入门到进阶,从进阶到实战,从实战到。。。(包你满意)
使用Root用户,执行:
grant SELECT on mall.* TO ‘dev’@‘192.168.0.%’ IDENTIFIED BY ‘123’ WITH GRANT OPTION;
很简单的一句sql,创建了一个dev的用户,密码为123,仅仅运行在网段为192.168.0.*的网段进行查询操作。
再执行一条命令:
show grants for ‘dev’@‘192.168.0.%’
不错,可以链接,也可以执行select,这个时候还想删库?做梦吧~
3. 深入研究下MySQL权限
3.1. 用户标识是什么
上面一句简单的SQL堪称完美的解决了程序员新手的删库跑路的问题,高兴吧,你学到了新姿势,但是如果想面试给面试管留下好映像,上面的知识好像还不够,有必要好好深入研究下MySql的权限了。
这里有个小的知识点需要先具备,在mysql中的权限不是单纯的赋予给用户的,而是赋予给”用户+IP”的。
比如dev用户是否能登陆,用什么密码登陆,并且能访问什么数据库等都需要加上IP,这样才算一个完整的用户标识,换句话说 ‘dev’@‘192.168.0.168’ 、‘dev’@'127.0.0.1’与’dev’@‘localhost’ 这3个是完全不同的用户标识(哪怕你本机的ip就是192.168.0.168)。
3.2. 用户权限所涉及的表
有了用户标识的概念接下来就可以看权限涉及的表了,这也是面试的时候加分项哦。
有几张表你可以好好的记记的,mysql.user,mysql.db,mysql.table_priv,mysql_column_priv。
你可以熟悉其中的user表,甚至手动的改过里面的数据(不合规范哦!)
那这些表有什么用,和权限又有什么关系呢?
l User的一行记录代表一个用户标识;
l db的一行记录代表对数据库的权限;
l table_priv的一行记录代表对表的权限;
l column_priv的一行记录代表对某一列的权限。
很诧异吧,mysql其实权限并不是特别low,权限的粒度甚至到了某一列上,举例来说,有个表account表:
对于前面创建的dev用户我不想让他访问balance列,但是id和name列是可以访问的,这样的需求在工作中不是没有。
grant select(id,name) on mysqldemo.account to ‘dev’@‘192.168.0.%’;
这时候可以在分别看下table_priv,column_priv的数据:
这个就应该豁然开朗了吧!
你使用dev登陆查询试试:
你再要查询所有记录?不好意思不让查。
而你查询id,name查询又是可以了。
3.3. Mysql的角色
3.3.1. 准备工作
MySql基于”用户+IP”的这种授权模式其实还是挺好用的,但如果你使用Oracle、PostgreSQL、SqlServer你可能会发牢骚。
这样对于每个用户都要赋权的方式是不是太麻烦了,如果我用户多呢?有没有角色或者用户组这样的功能呢?
好吧,你搓中了mysql的软肋,很痛,在mysql5.7开始才正式支持这个功能,而且连mysql官方把它叫做“Role Like”(不是角色,长得比较像而已,额~~~)?
好咧,那在5.7中怎么玩这个不像角色的角色呢?
show variables like “%proxy%”
你得先把check_proxy_users,mysql_native_password_proxy_users这两个变量设置成true才行。
set GLOBAL check_proxy_users =1;
set GLOBAL mysql_native_password_proxy_users = 1;
当然,你也可以把这两个配置设置到my.cnf中。
3.3.2. 创建一个角色
create USER ‘dev_role’
可能被你发现了,我这里创建得是个user,为了稍微像角色一点点,我给这user取名叫dev_role,而且为了方便也没用使用密码了。
3.3.3. 创建2个开发人员账号:
create USER ‘deer’
create USER ‘enjoy’
这两个用户我也没设置密码。
3.3.4. 把两个用户加到组里面
grant proxy on ‘dev_role’ to ‘deer’
grant proxy on ‘dev_role’ to ‘enjoy’
可以看下其中一个用户的权限:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
😝朋友们如果有需要的话,可以联系领取~
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
2️⃣视频配套工具&国内外网安书籍、文档
① 工具
② 视频
③ 书籍
资源较为敏感,未展示全面,需要的最下面获取
② 简历模板
因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/63fc7f8c8dc58dc3fa97da1f25d27da0.png)
因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-ZMaSvUet-1712887294918)]