目前大部分软件开发平台都基于Linux,很多互联网公司都把MySQL作为后端数据存储的数据库。如果把MySQL比喻成数据库界的一条巨龙,则本书涵盖的所有知识点就是这条巨龙的组成部分。本书深入剖析MySQL数据库体系结构,实战演练备份恢复、主从复制,详解高可用集群架构的设计与实践过程,详细梳理优化思路,展现新版本的特性,并与真实生产案例相结合,通过核心原理到王者实战,全面覆盖MySQL数据库的知识点。
找到一份合适的工作,就像在工作的八小时之内有了一个心仪的恋人MySQL数据库就是我的甜蜜爱恋。
我上学时特别不爱学习,也从来没有想过,也不敢想,有一天自己会写本书。作为一个在数据库领域摸爬滚打近十年的老司机,从一个什么都不会的菜鸟,做到公司的高管兼资深数据库讲师,我很希望把自己这些年积累下来的实战经验和一些学习MySQL数据库的心得体会分享给大家。我很能理解那些刚进入数据库领域的同学的困惑,因为自己刚学习MySQL的时候,就跟无头苍蝇一样,遇到报错后在网上到处找资料,关键是看完资料后有些问题可能还是解决不了,因为不知道哪种处理方法是对的。当时很崩溃,真心不知道该从哪里下手学习才好。别人还经常推荐一些过于偏向概念性叙述的数据库书籍,越看越晕。我当时就想为什么非要把数据库的知识点说得这么烦琐、深奥,让别人看不懂、理解不了呢?
写作本书的目的
我平常喜欢写一些技术博客,在51CTO上面写了一篇青铜到王者,快速提高MySQL数据库段位的文章,这篇文章指明了MySQL数据库的一个学习方向,但没有深入展开讲解里面的核心知识点。有读者发私信和留言说,能不能更具体地展开讲解呢。所以我决定把里面所有核心的技术干货写成书,毫无保留地分享给大家。希望本书对大家在生产中实践MySQL时有帮助,可以让有一定基础的、有工作经验的运维人员和DBA更加深入地了解MySQL,使用和维护起来更加得心应手,更希望可以让刚踏入数据库领域的读者快速掌握MySQL数据库的核心知识体系,给那些想学习MySQL数据库的入门者指明一个正确方向,少走一些弯路。让我们一起朝着技术领域金字塔的塔尖大步前行。
如何阅读本书
本书在知识结构上分为7部分。
第1部分 倔强青铜篇(第1~8章)。包括MySQL简介、主流分支版本、数据库安装/启动/关闭、权限管理、MySQL数据库的内存池结构、存储引擎、线程作用、刷新机制、数据库文件、表管理、字符集、统计信息与数据碎片整理的方法。还包括对索引的详细解读,执行计划的分析、压力测试的展现、事务的介绍,以及对隔离级别的深度讲解,并结合锁一起展开学习。
第2部分 秩序白银篇(第9章)。介绍生产环境中常用的备份方法、逻辑备份和裸文件备份。针对mysqldump、select…into outfile、mydumper和xtrabackup等备份恢复工具的原理展开详解及实践演练。
第3部分 荣耀黄金篇(第10~11章)。介绍主从复制的原理,对复制参数进行详细讲解,对半同步复制、多源复制、GTID复制进行全面解读与实践,对复制数据一致性的校验和复制管理技巧进行介绍,并解读主从复制中的各种报错故障。
第4部分 尊贵铂金篇(第12~15章)。介绍互联网主流的MySQL高可用集群架构,对MHA、Keepalived、PXC原理的解析、维护管理与实践,最后介绍ProxySQL这个强大的MySQL中间代理层的应用。
第5部分 永恒钻石篇(第16~17章)。介绍MySQL5.7版本的新特性,以及通过硬件、操作系统、数据库、程序设计这四个维度来全面介绍MySQL数据库的优化。
第6部分 至尊星耀篇(第18~19章)。学习部署Lepus,监控MySQL与版本升级。
第7部分 最强王者篇 第20章。MySQL面试总结。
致谢
在我从事数据库工作近十年的道路上,我要感谢那些曾经帮助过我的前辈们,当我遇到困难想要放弃这个行业时,是你们耐心的开导与指引,才使我没有失去方向,一直坚持到今天。我也要感谢51CTO这个平台,让我可以把自己工作中的经验分享给大家,感谢51CTO的运营经理高阳,不厌其烦地帮我整理博客中的一些素材,才能让我的文章以很好的方式呈现给大家。最后还要感谢电子工业出版社的陈晓猛编辑,感谢你的独具慧眼和对我无条件的支持与鼓励,让我可以非常顺利地完成写作。
技术无国界,让我们一起热爱技术、分享知识,打造出属于自己的一片广阔天空。此书献给所有喜欢技术的朋友们!
联系方式
欢迎大家与我互动,联系方式如下。
博客:sumongodb.blog.51cto.com。
张甦
张甦,极数学院创始人之一,51CTO知名博主。近十年互联网线上处理及培训经验,专注于MySQL数据库,对MongoDB、Redis等NoSQL数据库以及Hadoop生态圈相关技术有深入研究。曾就职于数据库服务公司、某大型电商平台,及汽车类网站等大型互联网公司。麾下的学员遍布各大企业。