MySQL进阶路:从小工到专家的必读书籍和必备工具

作者介绍

卢钧轶,DBAplus社群原创专家,目前就职于Facebook MySQL Infra Team,主要负责大规模MySQL数据库运维。在Failover、备份、监控、优化、数据库私有云等相关领域有一定经验和个人理解,曾先后就职于BesTV和大众点评网。个人博客:http://cenalulu.github.io/

 

一、MySQL入门书籍和方法分享

背景:各大论坛上总是有很多同学咨询想学习数据库,或者是为入行DBA做些准备。几年来作为一个MySQL DBA的成长过程有一些积累和感悟,特此拿出来和大家分享。

申明:本文原来对每一本书都附上了ppurl的下载链接。无奈该网站由于涉及版权原因闭站了。因此,目前暂不提供书籍链接,待找到好的PDF下载源的时候再补上。大家如果有下载需求可以考虑百度搜索。

1 SQL入门

在准备成为MySQL DBA之前,能熟练的编写SQL是一个必要条件。exists 和 join之间的等价转换;基本的行列转换;SQL 循环等的熟练掌握对之后的运维和调优工作都有很大的帮助。

推荐书籍:

  1. SQL Cookbook:一本循序渐进的SQL指导手册。每一种业务需求,书中都用MySQL,SQL Server,Oracle三种语法进行解析。可以顺序的作为学习书籍,也可以之后作为工具书籍查阅。
  2. The Art of SQL:将SQL调优模拟成一场战役,进行战术分析。更多的是传授SQL架构设计方面的知识,实际的调优实例不多,翻译很烂,建议看原版。
  3. SQL应用重构
  4. OReilly.MySQL.Stored.Procedure.Programming.Mar.2006.chm:学习MySQL 存储过程语法和编写的最好教材。虽然版本比较老,但是大部分的语法都没有变更,比较推荐。

2 MySQL入门&精通

如果你已经熟练掌握了基本的SQL编写技巧,就可以进入对于MySQL产品本身的入门学习了。

推荐书籍:

  1. High Performance MySQL:MySQL界的圣经,目前已经出到第三版。非常详细的介绍了MySQL运维的各个部分,可以通读了解,也可以作为工具书进行查阅。
  2. 深入浅出MySQL数据库开发、优化与管理维护:中文原创书籍中比较适合入门的一本。教粗浅的介绍了MySQL的相关特性,比较适合MySQL运维的入门。
  3. MySQL技术内幕innodb 存储引擎:很详细的从代码层面分析了Innodb的内部结构,适合深入学习innodb。

3 其他学习资源

MySQL入门除了通过书本学习理论知识以外还有其他各种方式可以进行学习。

  1. Our Episode:一个类似于MySQL电台的节目,每周会定期出一个音频讨论一个MySQL话题。 是学习MySQL&学习英语的好选择。
  2. MySQL Planet:几乎涵盖了所有MySQL业界大牛的博客RSS汇总。强烈建议订阅!
  3. MOOC:各类公开课程网站都会有免费得MySQL入门课程试听。这里就不一一列举了。

4 运维&数据思想

推荐书籍:

  1. The Art of Capacity Planning:作为运维免不了要做容量规划和容量预测。这本书是一个很好的开始。
  2. Beautiful Data: The Stories Behind Elegant Data Solutions:对数据的敏感对于数据库运维是一个重要特质。

二、MySQL工具汇总

第二部分我汇总了和MySQL运维开发相关的所有工具,工具包含:性能测试,状态分析,SQL路由等方面,后续将持续更新。

1 工具套件集

  • percona-toolkit

    链接:https://www.percona.com/software/mysql-tools/percona-toolkit

  • oak-toolkit

    链接:http://code.openark.org/forge/openark-kit

  • ps-helper(performance schema 工具函数集)

    链接:https://github.com/MarkLeith/dbahelper

2 MySQL实时状态分析

  • innotop

    链接:https://code.google.com/p/innotop/

  • orzdba

    链接:http://code.taobao.org/p/orzdba/src/trunk/orzdba

  • mytop

    链接:http://jeremy.zawodny.com/mysql/mytop/

  • systemtap工具示例集

    链接:https://sourceware.org/systemtap/examples/

3 MySQL客户端&开发工具

  • MySQL Workbench

    链接:http://www.mysql.com/products/workbench/

  • SQLyog

    链接:https://www.webyog.com/

  • Adminer

    链接:https://www.adminer.org/

  • MyQuery

    链接:https://sourceforge.net/projects/myquery/

  • Hopper(存储过程调试工具)

    链接:http://www.upscene.com/products.hopper.index.php

4 MySQL性能监控

  • mysql-statsd

    链接:https://github.com/db-art/mysql-statsd

  • nethogs

    链接:http://www.oschina.net/p/nethogs/

5 MySQL性能测试工具

  • sysbench

    链接:https://launchpad.net/sysbench

  • tpcc-mysql

    链接:https://code.launchpad.net/~percona-dev/perconatools/tpcc-mysql

  • dbt2

    链接:https://sourceforge.net/projects/osdldbt/files/dbt2/

  • LinkBench

    链接:https://github.com/facebookarchive/linkbench

  • iibench Indexed Insertion Benchmark

    链接:https://github.com/tmcallaghan/iibench-mysql

6 data generator

  • 测试数据生成

    链接:http://www.generatedata.com/

  • 地理数据生成

    链接:http://www.openstreetmap.org/#map=5/51.500/-0.100

7 数据路由中间件

  • mysql-proxy

    链接:http://downloads.mysql.com/archives/proxy/

  • Atlas

    链接:https://github.com/Qihoo360/Atlas

  • mycat

    链接:https://code.google.com/p/opencloudb/

  • MaxScale

    链接:https://github.com/mariadb-corporation/MaxScale

  • GLB

    链接:https://github.com/codership/glb

  • ScaleArc

    链接:http://www.scalearc.com/

8 数据库版本管理

  • liquibase

    链接:http://www.liquibase.org/

9 MySQL Connector

  • libAttachSQL

    链接:http://libattachsql.org/

时间: 2024-10-10 18:15:36

MySQL进阶路:从小工到专家的必读书籍和必备工具的相关文章

《Android开发进阶:从小工到专家》——第1章,第1.1节Activity

第1章 Android的构成基石-四大组件 Android开发进阶:从小工到专家 由于本书的目标读者是有一定Android基础的开发人员,因此,本章不再介绍Android系统的架构.历史等知识,而是直接切入主题,从讲解Android的四大组件开始,然后一步一步深入学习开发中的重要知识点,使得我们能够从基本原理层面掌握Android开发基础知识. Android中最重要的是四大组件,即Activity.Service.ContentProvider和Broadcast.这4个组件分工明确,共同构成

《Android开发进阶:从小工到专家》——第2章,第2.1节重要的View控件

第2章 创造出丰富多彩的UI-View与动画Android开发进阶:从小工到专家在第一章中,我们说到Android的用户界面构成,实际上就是Activity由一个搭载着视图树的Window构成.作为与用户直接交互的元素,UI控件变得尤为重要.本章将介绍部分常用且重要的控件.自定义控件.动画等内容,使我们进一步认识View,进入更丰富多彩的视图世界. 2.1 重要的View控件通常来说用户界面都是由Activity组成,Activity中关联了一个PhoneWindow创建,在这个窗口下则管理了一

《Android开发进阶:从小工到专家》——第2章,第2.3节Scroller的使用

2.3 Scroller的使用 为了更好地理解下拉刷新的实现,我们先要了解Scroller的作用以及如何使用.这里我们将做一个简单的示例来说明. Scroller是一个帮助View滚动的辅助类,在使用它之前,用户需要通过startScroll来设置滚动的参数,即起始点坐标和(x,y)轴上要滚动的距离.Scroller它封装了滚动时间.要滚动的目标x轴和y轴,以及在每个时间内View应该滚动到的(x,y)轴的坐标点,这样用户就可以在有效的滚动周期内通过Scroller的getCurX()和getC

《Android开发进阶:从小工到专家》——第2章,第2.2节必须掌握的最重要的技能——自定义控件

2.2 必须掌握的最重要的技能--自定义控件 虽然Android已经自带了很多强大的UI控件,但是依旧不能满足所有开发人员的需求.通常开发人员需要实现设计师精心设计的视觉效果,这种情况下可能现有的控件就不能满足需求或者说使用现有的控件实现起来成本很高,此时我们只能寻找是否有类似的开源库,如果没有人实现过类似的效果,我们只能通过自定义View实现.因此,自定义View就成了开发人员必须掌握的最重要技能之一. 自定义View也有几种实现类型,分别为继承自View完全自定义.继承自现有控件(如Imag

《Android开发进阶:从小工到专家》——第2章,第2.4节让应用更精彩——动画

2.4 让应用更精彩--动画 为了使用户的交互更为流畅.自然,动画已经成为一款应用中不可缺少的部分.在Android中,动画的分类较多,有最早的帧动画.补间动画,从Android 3.0之后添加了属性动画,而在Android 5.0中又增加了VectorDrawable,使得Android的动画多种多样,能够满足用户的各种需求. 动画实际上就是在指定的时间段内持续地修改某个属性的值,使得该值在指定取值范围之内平滑的过渡.如图2-22所示是一个执行时长为40毫秒.将x从0平滑过渡为40的动画. 从

《Android开发进阶:从小工到专家》——导读

目 录前 言 第1章 Android的构成基石-四大组件1.1节Activity1.2节Service与AIDL1.3节Broadcast(广播)1.4节ContentProvider(外共享数据)1.5节小结第2章 创造出丰富多彩的UI-View与动画2.1节重要的View控件2.2节必须掌握的最重要的技能--自定义控件2.3节Scroller的使用2.4节让应用更精彩--动画2.5节小结 第3章 保证App流畅的关键因素-多线程第4章 HTTP网络请求第5章 独特高效的数据存储-SQLite

《Android开发进阶:从小工到专家》——第2章,第2.5节小结

2.5 小结本章学习了Android开发中最为重要的两个知识点,即自定义View与动画.通过自定义View,可以创造出丰富多彩的UI元素,但是由于篇幅有限,一些很重要的知识点并没有覆盖,例如Xfermode,在做一些特殊效果时灵活运用Xfermode将获得意想不到的效果.而对于Canvas以及Paint的细节也没有过多介绍.对于动画而言,我们了解了帧动画.补间动画.属性动画,而较新的VectorDrawable以及SVG等内容并没有覆盖,这些内容大家可以在学习完本章之后自行扩展.

《Android开发进阶:从小工到专家》——第1章,第1.2节Service与AIDL

1.2 Service与AIDLService是Android中实现程序后台运行的解决方案,它非常适合用于去执行那些不需要和用户交互而且还要求长期运行的任务.但不要被"后台"二字所迷惑,Service默认并不会运行在子线程中,它也不运行在一个独立的进程中,它同样执行在UI线程中,因此,不要在Service中执行耗时的操作,除非你在Service中创建了子线程来完成耗时操作. Service的运行不依赖于任何用户界面,即使程序被切换到后台或者用户打开了另外一个应用程序,Service仍然

《Android开发进阶:从小工到专家》——第1章,第1.3节Broadcast(广播)

1.3 Broadcast(广播)Broadcast是一种广泛运用的.在应用程序之间传输信息的机制,Android中的广播与传统意义上的电台广播类似,一个广播可以有任意个接收者.广播机制是一个典型的发布-订阅模式,也就是我们所说的观察者模式.广播机制最大的特点就是发送方并不关心接收方是否接到数据,也不关心接收方是如何处理数据的,通过这样的形式来达到接.收双方的完全解耦合. Android广播机制包含 3 个基本要素,分别是用于发送广播的Broadcast.接收广播的BroadcastReceiv