MySQL这几本书,初学者必看!

《高性能MySQL》第四版发布后,收到了很多读者的反馈,其中关注最多的是作为一个初学者,应该如何能够较为系统的学习MySQL,从而应对日常工作或者获得更好的职业发展。于是和多个业内朋友讨论后,整理了一些MySQL学习的推荐资源,供初学者参考。

本文分成几部分,包括业界专家的经验、推荐书籍、视频/音频资源、其他资源或者学习方式、MySQL学习沟通群、抽奖赠书等。

业界专家的经验

阿里云的数据库专家 Yangyidba

提问:刚刚入行时,有哪些资料给你了帮助?

正式接触 MySQL 是2011年底,当时的公司的数据库版本主要是 5.5 版本和少量 5.1 版本。因为之前学Oracle的经验是查看官方文档,学习MySQL 资料主要是 “官方文档” 和当时的淘宝DBA团队组织的技术大学的技术分享,学习MySQL技术的技术特性和经典案例。

其实就现在而言,MySQL 官方文档依然是最好的学习资料和教材, 里面非常详细的说明 MySQL的基础架构,redo,undo,读写逻辑,字段类型,锁,存储引擎,主从复制,MGR ,性能优化等等。把官方文档通读一遍,基本上能超越60-70%左右的DBA,为什么不是更高呢?因为学习技术是为了使用技能。

提问:进一步了解 MySQL/数据库,哪些资料给了你帮助?

换个回答的方式,哪些因素帮助我提升数据库技能水平?总结起来大概三个方面:

1. 掌握基础知识之后,会有 “纸上来得终觉浅,绝知此事要躬行”” 的想法。基于对各种MySQL 技术知识点和 功能特性的理解,搭建单节点,主备模式环境 做各种功能测试,并且将知识点的验证或者分析过程下来写博客,比如死锁,能将常见的20个死锁常见分析过程总结下来,相信死锁问题再也难不倒你了。

2. 如果是第一条是模拟考,那么真实的业务场景则是实战演练,在海量的业务场景下,层出不穷的业务问题和技术难点驱动 DBA 对 数据库的使用和限制了解的更多。比如:

  • truncat表 如何恢复?

  • 如果有500g binlog,如何加速 binlog 应用?

  • 如何删除3T的大表?

  • 秒杀场景下数据库设计和优化?

  • 如何排查业务访问db RT异常?

  • 为什么业务写完立即查询当时查不到?

3. 和优秀的同事或者优秀的人同行,比如有解决不了的疑惑可以咨询内核开发。

提问:现在回头来看,哪些资料你觉得是最推荐的,分别对于初入学,和深入学习的人来说?

对于初学者而言,首要目标是 夯实基础,学好基础/理论知识。

  • 官方文档

  • 《高性能MySQL》

  • 《MySQL性能调优与架构设计》

  • 《MySQL技术内幕:InnoDB存储引擎》

对于深入学习的人来说, 单独的数据库学习是没有意义的,必须服务好具体的业务场景才能发挥其价值。推荐:

  • 《数据密集型应用系统设计》

  • 《性能之巅》

  • 《漫画算法》

学习和总结各种业务场景下的数据库架构设计 ,数据库高可用,容灾,强红包,秒杀,直播弹幕等等。

匿名大佬 数年前就是阿里P9

对于初学者,建议自己手动安装常见的架构,比如最简单的一主一备,作为验证环境。找一些操作案例较多的博客或公众号文章,照着作者的思路执行。

然后再自己设计一些执行案例,先自己推导结果,再执行验证,在验证过程中加深理解或者勘误。

内核学习也可以延用这个方法,在验证过程中设想如果是自己实现这个功能的,会怎么写,然后通过阅读源码理解作者的设计思路。就是看源码要带着问题去看,找只要主要流程,GDB去调试单步执行。

阿里集团DBA团队 Leader 某陈姓大佬

推荐的重要学习资料包括:

  • MySQL 官方文档

  • 《MySQL 技术内幕:InnoDB 存储引擎》

  • MySQL 周边组件的文档与源码,如percona toolkit、MHA等

  • 初学者:丁奇 45 讲、MySQL 官方文档

深入学习:主要还是积累、排错,云数据库相关还是需要看下技术相关的论文。

推荐书籍与资源

MySQL作为当前最流行的关系型数据库,相关的书籍也非常多,这里罗列基本推荐如下:

MySQL相关的书籍

文档是最全面和权威的参考,而其他三本都是,根据豆瓣网友打分进行推荐的。第一本《MySQL是怎样运行的》适用于完全的初学者,内容由浅到深。第二本《高性能MySQL》则从“优化”为入口,非常系统介绍了MySQL的架构、优化,是一本非常好的进阶书籍。第三本是《MySQL技术内幕 InnoDB存储引擎》,这本书深入的介绍了MySQL核心组件InnoDB存储引擎,涵盖了数据库的事务原理、调度、物理存储、锁等知识。

另外,其实MySQL领域还有很多书籍偏重各有不同,这里不一一推荐了。

1、《MySQL是怎样运行的》

这本书于2020年出版,是一本比较新的书籍,整个书籍也是围绕其标题展开《MySQL是怎样运行的:从根儿上理解 MySQL》。这本书最大的特点是,全书有非常清晰的脉络,可以说是由“入门到精通”,书中放弃了一定的完整性(这个可以去看MySQL文档),而是非常接地气的从零开始,用了很多形象的比喻介绍MySQL数据库的各个概念。

同时,该书籍在每个章节对相关的概念也都进入了非常深入的讨论,例如,关于索引的介绍,从什么事索引、索引的物理结构开始介绍,然后,开始介绍MySQL的索引在查询、排序等场景的使用,最后,再介绍一些常见的索引优化技巧,包括普通索引、前缀索引、覆盖索引等。

总得来说,这本书是最近几年,面向于初学者非常不错的一本书。

2、《高性能MySQL》

《高性能MySQL》则从“优化”为入口,将MySQL相关的知识点聚合在一起,包括了查询性能优化(SQL优化)、高性能索引、库表结构(Schema)优化等,也包括了服务器配置(硬件和软件)优化、架构优化(包括了复制、只读节点、分片)等,还介绍了部分云服务商的MySQL等内容,是一本非常适合进阶阅读的书籍。

该书籍的作者、译者,也都是一直活跃在数据库领域第一线的数据库开发者,对于MySQL实践有着非常丰富经验。这也保障概书籍整体质量不错,不仅可以作为系统的阅读使用,也可以作为一个参考手册,可以根据自己工作需要,不定期的翻阅其中的部分章节。

3、《MySQL技术内幕 InnoDB存储引擎》

这本书则以InnoDB为切入点,非常深入的介绍了InnoDB或者说数据库的原理。InnoDB可以说是MySQL最为核心的组件,其原理不仅仅适用于MySQL,也几乎适用于大多数关系型数据库系统。

具体的,概书籍覆盖的内容包括了MySQL/InnoDB物理存储结构、索引、锁、事务等等。本书底层原理为出发点,帮助开发者理解MySQL行为、特点。

本书非常适合,对MySQL已经有一定程度了解,又希望更加深入了解其底层实现原理的人,或者是工作中需要对MySQL源码层进行修改或者定制的数据库内核开发者。

4、用好MySQL官方文档

MySQL官方文档可以说是最为权威、更新最为及时、质量也应该是最高的MySQL学习资料了。在早期,市面上还没有那么书籍的时候,我个人也是通过精读MySQL官方文档,以此为深入学习MySQL、甚至是深入学习数据库原理的知识库。

但是,官方文档为了保证完整性、准确性,会导致其看起来非常冗长、繁琐,有时候则感觉是在隔靴挠痒,偏向于介绍实现方式或原理以及MySQL提供的功能,而不会介绍读者最需要的最佳实践。例如,官方文档会详细介绍每个字段类型和参数详情,但是不会告诉你,哪些字段类型应该多用,哪些字段类型应该少用。

了解了官方文档的这些特性之后,官方文档阅读的几个要点总结如下:

  • 在阅读MySQL官方文档之前,需要先花些时间了解文档的整体架构,方便后续阅读查阅;

  • 在需要了解某个具体MySQL知识点时,建议可以精读MySQL文档;

  • 如果希望系统的了解某个MySQL特效的时候,可以完整的阅读;

  • MySQL文档MySQL官方文档最新的都是英文的,需要有一定的英文阅读能力。

总得来说,多阅读官方文档,虽然刚开始会觉得有些晦涩,坚持下来,你会发现收获巨大。

另外,阅读官方文档也要注意:也正是因为官方文档注重保障完整性、准确性,所以必定会繁琐、冗长,而不怎么介绍最佳实践经验,甚至一些主流的应用等,例如官方文档也只会将内容限定在MySQL本身,而不会包括硬件、软件或者云环境的相关的内容。

5、视频/音频资源

现在也越来越多的人通过视频的方式去在线的学习各类知识,B站上也有一些面相MySQL初学者的视频资源,质量我不太好评价,不过作为文字、书籍的补充学习,看一些视频学习还是非常不错的。大家可以去B站搜索一下“MySQL 初学者”就有很多的相关视频了,质量良莠不齐,需要大家自己甄别适合自己的。这里仅推荐一下由极客时间推出的《MySQL实战45讲》。

《MySQL实战45讲》

该系列价格也非常便宜,可以说是买不了吃亏、买不了上当,反倒是容易买到自己不能全部看完/听完的懊恼:《MySQL实战45讲》。

其他资源或者学习方式

1、使用Google/Baidu或者ChatGPT

通常,对于某个非常具体的知识点或者行业/场景最佳实践,在文档中都不会覆盖,但是,因为MySQL的用户量极大,在互联网上也有非常多的分享和讨论,从初阶到高阶,面相各个级别的内容都有,可以说是一个大宝库,用好了也是可以事半功倍的。

2、多总结、多分享、多交流

学习本身通常都是无趣的,如果学习的知识不能够很快的在实际工作中使用,也很容易忘记。另一个非常好的学习方法,不仅仅限于学习MySQL,就是分享很总结。一方面,可以让你系统的把一个知识点了解的比较完整和透彻,也可以帮你更好的记录,大大加深理解与记忆。

3、学以致用

也许你学习MySQL的原因可能只是因为面试、解决一个工作中的问题、增长知识或者只是兴趣,无论是哪个原因促使你学习,动手练习并在工作中使用这些知识,都是非常有效的。如果,你对MySQL或者数据库很有兴趣,那么则建议在当前的公司,找一个与数据库更近的岗位工作,这样自然可以事半功倍。

4、MySQL源代码

MySQL是一个开源数据库,另一个独天得厚的资源是MySQL源代码。不过,MySQL发展的时间已经非常长了,其代码复杂度也比较高,可以考虑从一两个小的模块、小的功能点着手,去学习、验证。

5、学术论文

当如果需要了解某个具体模块的来龙去脉以及设计思想的时候,有时候去查找一些经典的数据库领域论文可以很好的帮助你解决相关的疑问。有一套大部头《Readings in Database Systems》可以作为参考或者开始,不过内容较多,需要花费大量时间,总得来说不太适合初学者。

小结

对于不同基础的人,学习的重点和方法是各有不同的,所以本文会列举主要的MySQL数据库的学习资源和方法,读者需要结合自己的实际情况选择合适的方法。如果你有好的经验分享,可以在留言评论谈谈你的经验。

orczhou 是《高性能MySQL》的书籍的译者,同时也是来自 NineData(www.ninedata.cloud)的工程师。NineData向企业、开发者提供高效、安全的数据库 SQL 开发、数据库备份、数据复制/迁移/集成、数据对比等功能,是一个 SaaS 服务开箱即用,可以快速提升企业 SQL 开发效率,保障企业数据安全。


感谢点赞、转发一下,你们的支持会鼓励我们持续输出更多高质量的技术文章!欢迎关注我们的公众号「云数据库技术」,可以参与抽取10本MySQL书籍,提升数据库技能,让每个人用好数据和云。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31108.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android短信会话(查看会话记录以及会话详情界面)---短信管家3

看一下上一篇,其实是有缺陷的,我们在载入联系人的时候是放在主线程中做的(比较耗时),所以界面会卡住。推荐使用异步查询来解决 这一篇我们谈短信会话: 首先看一下效果图 这个是所有会话的列表&#xff08…

chatgpt赋能python:Python自动化:如何用Python完成自动化任务

Python自动化:如何用Python完成自动化任务 随着技术的进步,自动化已经成为了许多企业和团队的必备工具。自动化可以帮助你节省大量时间和精力,也能帮助你提高工作效率。在这方面,Python是一种强大的工具语言,许多人都…

LLM系列 | 16: 如何基于LangChain打造联网版ChatGPT?

简介 连雨不知春去,一晴方觉夏深。 小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖锅盔的小男孩。汇总下之前撰写的ChatGPT Prompt工程和应用系列文章: 11:LangChain危矣?亲测ChatGPT函数调用功能&#…

【9】数据可视化:基于 Echarts + Python 实现的动态实时大屏 - 酒店行业

目录 精彩案例汇总 效果展示 1、动态效果图 2、实时分片数据图 3、丰富的背景样式 一、 确定需求方案 1、确定产品上线部署的屏幕LED分辨率 2、功能模块 3、部署方式: 二、整体架构设计 三、编码实现 (基于篇幅及可读性考虑,此处展…

pyecarts动态交互图表-可视化大屏

早在几年前动态可交互的图表已经流行,在各公司前台、大厅都展示着漂亮的可视化大屏,本文简单介绍一个简单好用的动态可交互图表工具-pyecharts,并使用pyecharts制作一个简单的图表大屏,先附上部分动图效果: gif动图 附…

秀一波酷炫可视化大屏!

开局一张图,社会人小猪佩奇镇楼! 开局两张图,你永远无法想到的效果,竟然是用帆软大屏模板实现的! 开局三张图,带自动播放效果及3D动画特效的数据可视化! 开局五张图,离屏内容交互&am…

Unity+chatgpt+webgl实现声音录制+语音识别

一、前言 AI二次元女友这个项目持续更新,在window端的语音识别和语音合成的功能,在上一篇博文里已经详细说明了微软Azure语音服务的代码实现。也是为了实现一次代码,多端复用这样的诉求,所以全部的代码实现都改成了web api的方式…

OpenAI CEO中国首次演讲,称未来十年出现超强AI系统!AGI安全治理是重点

来源 | 新智元 硅谷独角兽,又来震撼世界了! 这支名叫Character Technologies的独角兽的核心力量,来自前谷歌LaMDA团队。 大模型研究测试传送门 GPT-4传送门(免墙,可直接测试,遇浏览器警告点高级/继续访问…

首周下载量碾压ChatGPT!谷歌20年老员工叛逃,创立第二个OpenAI?

来自:新智元 进NLP群—>加入NLP交流群 【导读】这款爆火的AI聊天新宠,首周下载量就碾压了ChatGPT。更有意思的是,产品背后的独角兽,就是谷歌的前LaMDA团队。婉拒劈柴,出走谷歌,这是要走向人生巅峰了&…

韩启德院士:关于生死,我向ChatGPT提了一个问题

来源:学术世界 图源:pexels 第五届北京大学清明论坛今天开幕了,我衷心祝贺! 前四届论坛都取得了成功,讨论越来越深入,社会影响越来越广泛。人们对死亡由忌讳到热议,实质是大家对生命和人生意…

如何从零开始构建一个网络讨论帖分类模型?

Motivation 前几天搭建了一个对牛客网每天最新的工作信息进行爬取的程序,见牛客网爬虫,但从网上爬取下来的帖子有很多不是工作信息,需要把这部分干扰信息给排除掉,否则很影响使用心情。之前使用关键词与正则表达式进行了简单过滤…

chatgpt赋能python:Python画图设置指南

Python画图设置指南 引言 Python是一种高级编程语言,在数据科学及数据可视化领域中越来越受欢迎。Python拥有众多的绘图库,例如matplotlib和seaborn。但是,你需要花费时间和精力在图的布局、颜色、字体等方面的调整上,以提高图表…

今日份安利:智能写诗的软件哪个好?

在传统的文学领域中,诗歌是一种高度艺术化的表达方式。然而,在科技的加持下,AI写诗生成器已经成为了一种新的创作方式。这些机器人诗人可以从大量的语料库中学习和理解诗歌的结构和意义,进而生成出令人惊叹的诗歌作品。对于那些渴…

川核灵境|三月AIGC新品热潮,AI 2.0时代已扑面而来

在元宇宙、Web3.0等概念风靡的2022年,AI凭借“创作”强势崛起,这预示着AIGC元年已经开启,下一个万亿赛道即将爆发。2023年,将是AIGC与Web3、元宇宙密切结合并将爆发的一年。三月再次迎来AIGC新品热潮,一场资本的盛宴正…

GPT Demo 分享|日不落直播间接入虚拟人AI互动

摘要 虚拟人和数字人是人工智能技术在现实生活中的具体应用,它们可以为人们的生活和工作带来便利和创新。在直播间场景里,虚拟人和数字人可用于直播主播、智能客服、营销推广等。接入GPT的虚拟人像是加了超强buff,具备更强大的自然语言处理能…

虚拟数字人成短视频/直播主阵地,虚拟人提升数字内容生产效率

由于短视频在传播便携性、功能性和交互性等多个方面的优势,短视频已逐渐成为现代社会情感表达和信息传播的重要载体。尤其随着移动互联网的普及和碎片化信息迅捷传播需求的高涨,各行各业的内容创作者纷纷涌入视频内容赛道,短视频成为了许多企…

AI数字人主播营销崛起,李佳琦还能继续保持领先地位吗?

“你们能想象我们的客户1万多平方米办公室只剩下几千个数字人在通宵直播吗?一个晚上赚几百万,基本上成本一晚上就赚回来了。”这是一名网友对数字人的发言。 随着今年ChatGPT掀起的人工智能大模型热潮,数字人又迎来一轮更加磅礴的爆发&#…

chatgpt赋能python:Python并行线程介绍:提高程序运行效率

Python并行线程介绍:提高程序运行效率 概述 随着计算机硬件的发展,越来越多的应用需要充分利用计算机的资源来提高程序运行效率。并行计算通过同时使用多个计算资源(如CPU或GPU)来加速计算过程。Python语言作为一种高效、易读易…

上市公司高管CEO员工数据大全 1991-2021年上市公司高管CEO教育背景学历结构薪酬职务任期年龄出生地 员工学历结构人员结构

(1)上市公司高管教育背景、学历结构,且含有多份不同来源的100多万数据集;包含 简历、出生地、年龄、教育背景、学历结构、薪酬、职务、股权期权等 (2)上市公司CEO教育背景、学历结构数据集,包含…

2004-2020中小企业板上市公司财务报表股票交易董事高管等面板数据

1200变量!中小企业板上市公司面板数据大全 2004-2020年 1、时间:2004-2020年 2、数据范围:共计973家上市公司 3、数据指标:包括财务报表、股票交易、董事高管等1200变量 4、用途:进行上市公司高管股权激励与公司绩…