在日常工作与学习中,无论是开发、运维、测试,还是架构师,数据库是一门必不可少的”必修课”, 也是必备的涨薪神器。在互联网公司中,开源数据库用得比较多的当属 MySQL 了。
但mysql知识面非常广,知识点也很零散,学习过程是比较曲折的,对于新手,往往不知道从哪里入手,学数据库,到底是要学它的什么东西呢?对于有一定基础的同学,可能一直停留在增删改查的阶段,无法进一步精进,运维时,遇到突发事故不知道如何排查处理;开发写业务sql时,写了一堆有性能隐患的语句。 本文推荐一些学习mysql的路径和资源。可能不是最快的途径,但相信对各位肯定有一定的帮助。
初级
对于刚开始入门mysql的小伙伴,我是不太建议直接看书的,大部分的书都比较晦涩难懂,容易劝退初学者。对于这类同学,我建议是先过一遍菜鸟教程-MySQL,该教程目录清晰,循序渐进,你可以按目录顺序一步步学下去。
B站也是一个学习的好地方,这里推荐一天学会 MySQL 数据库, 课程中有大量的练习视频。
学完后,能大概了解数据库、表、索引、增删改查等的基本概念和操作。
对于喜欢读书的同学,可以读读《MySQL 必知必会》,这本书籍侧重于基础内容,从零开始带你入门 MySQL,适合作为入门书籍。
相关书籍可关注公众号【会玩code】回复【pdf】获取
进阶
对于不想局限于增删改查的同学,我推荐的学习途径是看书+实操+分享。当然,我也会将知道的其他几个质量较高的资源一并分享给大家。
书籍
- MySQL 技术内幕:InnoDB 存储引擎
姜承尧的《MySQL 技术内幕:InnoDB 存储引擎》是我首推的一本书籍。这本书由渐入深、深入浅出从源代码的角度深度解析了 InnoDB 的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握 InnoDB。另外,这也是一本面试宝典,真正理解书中的内容,应该是能应付绝大部分的面试了。
- 高性能 MySQL
这本书是 mysql 领域的经典之作,拥有广泛的影响力,内容涵盖 MySQL 架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的 MySQL 和 MySQL 相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。对于想要深挖mysql的DBA不容错过。
相关书籍可关注公众号【会玩code】回复【pdf】获取
博客资源
- 官方文档:https://dev.mysql.com/doc/refman/5.7/en/
- 淘宝月报:http://mysql.taobao.org/monthly/
视频资源
https://www.bilibili.com/video/av201532153/ 这是在b站上看到的某个培训机构放出来的mysql教程,讲的比较深入,内容面试也比较常见,啃不下书的同学可以看看。
极客时间:MySQL 实战 45 讲
首先,这个真不是拖,而且这课很多大V也都推荐过了,自己也是买了这个课,来来回回读了好几遍,每次确实都有新的收获,这个专栏内容有一定深度,但老师讲的比较通俗易懂,课后的问题贴合实际生产问题。另外,每次看完文章后,建议把下面留言都过一遍,有很多优质留言,补充文章可能困惑的地方。
实践实践实践
这可能是大部分人学习缺少的一环,但其实很重要,比如索引、各种锁的理解,光看书或视频是远远不够的,看的时候你觉得你懂了,你行了,但真正实操的时候又发现不是那么回事。
为了方便大家学习时方便实操,我搭了一个mysql测试实例,给每个人都分配了一个专属的用户名密码。只要关注公众号【会玩code】,回复【mysql】即可获取自己的账号密码。没有套路,不是虚拟的,这水不深,大家可以把握得住。
写文章
这是我想说的最后一点,在学习过程,我们最好养成写文章的习惯。尝试用自己的逻辑把多个知识点串联起来,形成一个面。这不容易,但写完后对知识的理解会有极大的帮助。
以前我以为对数据库事务日志理解的还可以,前段时间想写一遍相关的文章,真正写的时候无从下手,翻阅了网上很多文章资料,花了大半月才写完。《大白话 mysql 之详细分析 mysql 事务日志》,虽然文章还不算完美,但确实是学到了很多之前没注意到的细节。
写在最后
喜欢本文的朋友,欢迎关注公众号「会玩code」,专注大白话分享实用技术。
公众号福利
回复【mysql】获取免费测试数据库!!
回复【pdf】获取持续更新海量学习资料!!