最近在学习mysql数据库,对于不明白的问题翻阅了不少的博客,在此总结一下。
mysql数据库学习首推的当然是 mysql reference
关于mysq 的协议,当然是 mysql inner reference
但是这两个参考文档都太长,很少有人能够将其看完,我也是将其作为参考。
如果想了解mysql 的复制原理,可以参考一下canal 的源代码,canal源码分析。看canal 源码时结合mysql inner reference 文档,能够很快明白其基本原理。
对于mysql 的redo log,undo log ,事务,数据不丢失的问题理解,主要是弄懂AWL(ahead write log),而要搞懂AWL,则参看图解数据库Aries事务Recovery算法
另外,关于mysql 的学习主要参看了
MySQL技术内幕:InnoDB存储引擎(第2版)
MySQL运维内参:MySQL、Galera、Inception核心原理与佳实践
数据库系统内幕
(注意这不是打广告)
因为这些书,有的出版的比较早,有的技术已经不再流行了,所以我主要看了其中对于当前技术有用的部分。比如mysql 运维内参中关于galera部门,我就没有细看,主要是因为mysql group 复制已经很成熟,可以替代这一部分功能了。
关于数据库内幕,我存细的看了前半部分,后面关于分布式的部分看的我有点蒙,感觉有点不成体系。
数据库的学习就像是一个万丈深渊,需要坚持。革命尚未成功,同志们仍需努力,每天进步一点点!我为我加油!