MySQL 学习资源整理

MySQL

MySQL也有了几年了,说不出来个所以然,认知比较肤浅。所以需要加深学习呀,这里是学习过程中收集的一些好的资源,希望大家共同进步了。不是很系统的整理,看到了就记录了下来。

官方文档必须要优先看滴呀!本文Github地址

博客

前辈们的博客就是他们成长的足迹。

  • DimitriK’s (dim)
  • 玄惭 阿里
  • 何登成 阿里
  • 叶金荣 知数堂
  • 姜成尧 网易
  • 杨奇龙 支付宝
  • penglixun 阿里
  • 王朝阳
  • 大师兄
  • 吴老师 知数堂
  • 黄杉
  • 周振兴 一个故事@MySQL DBA
  • for dba
  • 那海蓝蓝的博客 Oracle 对mysql,pg都比较多
  • 四爷 msyql,pg很多对比
  • smalldatum facebook, 很多myrocks文章
  • 宋利兵老师公众号 宋利兵老师公众号 Oracle, innodb原理分析
  • 淘宝数据库内核月报
  • planet mysql 中文
  • awesome-mysql
  • db ranking 数据库排名
  • mariadb 官方整理的MySQL知识库
  • Percona Database Performance Blog 貌似每个dba对这个博客都特熟悉,没事多看看

文章

经验分享,或者是针对一些问题的分析,解答

  • 大众点评订单分库分表 200g订单表开始做水平拆分的一些记录
  • MySQL 排序内部原理
  • MySQL备份经验 线上紧急备份等的操作
  • Mysql操作规范
  • 阿里云DBA专家门诊 问题比较基础,特意提了下不要使用外键的事(当然也是看场景)
  • 阿里云DBA专家门诊 主要集中在覆盖索引
  • MySQL5.6新特性之Muti-Range Read 当看到执行计划中有 mrr的时候就是它了
  • 为什么不建议innodb使用亿级大表 innodb的存储方式和索引方式
  • MySQL大数据场景的优化和运维-美团DBA 非常多的可以参考和操作的内容,可以作为手册使用, 建议多看几遍
  • 联合查询中的驱动表问题 不同的写法可能造成查询优化器无法选择正确的驱动表,从而整个查询的扫描范围增加,最后的目的就是用 小结果集驱动大结果集
  • MySQL 加锁处理分析 完美的串联了mvcc 锁机制 隔离级别的知识
  • innodb锁机制 Next-Key Lock 浅谈 从小案例的角度来说明 Next-Key Lock算法在RR隔离级别下解决幻读问题的原理
  • MySQL · 答疑解惑 · MySQL 优化器 range 的代价计算 使用 optimizer trace 来分析一个代价计算的案例
  • MySQL 5.7的新增功能白皮书(中文版) MySQL5.7 版本特性全面的介绍,如果还没有正式使用5.7版本,请仔细阅读阅读。
  • MySQL Join算法与调优白皮书(四) 姜老师的系列文章,深入浅出的讲解了 MySQL join算法的原理和使用中需要注意的细节
  • MySQL高可用浅析 唐刘老师的对mysql复制部分的总结

案例分析

How to deal with MySQL deadlocks 遇到mysql死锁问题时候怎么查询,还有避免死锁的几种思路。第一个通过 SHOW ENGINE INNODB STATUS 查找死锁信息,第二个回忆GAP锁知识

slides

  • 一步步深入MySQL源码 何登成,怎么深入的学习Mysql的一些经验和建议
  • RDS最佳实践 玄惭, 问题查询和数据库设计方面的建议
  • MySQL索引和SQL调优 玄惭,innodb索引的原理以及案例分析
  • MySQL数据库开发的三十六条军规-石展 数据库开发中的一些经验规则总结,非常有参考性
  • MySQL基础技能与原理–基础技能 彭立勋老师, 一个系列 MySQL,Oracle都有涉及 (基于5.1版本)
  • MySQL基础技能与原理–高级应用
  • MySQL基础技能与原理–基本原理
  • MySQL培训优化篇 东西比较多,几乎所有方面
  • MySQL Explain 解读 简朝阳大师, 结合例子说明的非常详细了
  • MySQL查询优化浅析 代价模型,了解mysql索引选择原理
  • Query Optimization with MySQL 5.6: Old and New Tricks
  • Advanced MySQL Query Tuning
  • Mysql query optimization

videos

  • IT大咖说 里面有一些mysql的分享,不过需要自己找下了。(还需要注册)

在线学习

  • sqlzoo 在线的sql练习,比较适合入门
  • oracle live sql oracle 官方的sql案例,都是oracle的案例,不过也可以参考下。。

工具

  • binlog2sql 大众点评,闪回和binlog解析sql, 还不错哦
  • python-mysql-replication Mysql复制工具库,可以基于它开发很多东西了
  • innotop innodb引擎监控工具,perl语言的一个脚本
  • orchestrator

项目

  • phxsql 微信开源的集群方案
  • MyRocks 使用rocksdb做为底层存储,上层实现sql引擎,思路很棒
  • AliSQL 阿里开源,对mysql官方版本的增强版本

书籍 or doc

  • 《高性能MySQL》 必读,多读几遍
  • 《MySQL技术内幕:InnoDB存储引擎》 姜老师的书,多读几遍
  • MySQL Internals Manual MySQL 内幕,官方开发团队维护,了解mysql内部机制的有效资料

经典文献

  • Architecture of a Database System 中英文版 中文版由厦门大学数据库实验室翻译

  • ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging 很多年前(1992)IBM关于 wal log的论文,现代数据库事务恢复机制很多基于此。再来几个相关的slides ARIES Recovery Algorithm , ARIES (& Logging) , (Database) Techiques Everyone Should Know

你可能感兴趣的:(MySQL)