译者序在互联网行业, MySQLLinux+ Apache MySQL+PHp)甚至已经成为专有名词, 也是很多中小网站建站的首选技术架构。我所在的公司淘宝网,在2003年非典肆虐期间创立时, 选择的就是LAMP架构, 当时 MySQLMySQL4.0(当时用的还是 MyISAM引擎)的很多点在高并发大压力下暴露了出来, 于是技术上开始改用商业的 Oracle Oracle加小型机和高端存储的数据库架构支撑了淘宝网业务的爆炸式增长, 数据库也从最初的两三个库增长到十几个库,并且每个库的硬件已经逐步升级到顶配,“天花板”很明显地摆在了眼前。 于是在2008年,基于PC服务器的 MySQLMySQL的稳定版本已经升级到5.0, 并且5.1也已经在开发中性能和特性相对于2003年的时候已经有了非常大的提升。 淘宝网的数据库架构也逐渐从垂直拆分走向水平拆分,在大规模水平集群的架构设计中, 开源的 MySQL受到的关注度越来越高,并且一年多来的实践也证明了 TMySQL InnoDB在高压力下的可用性。 于是从2009年开始,后来颇受外界关注的所谓“去IOE”开始实施,经过三年多的架构改造, 2012年整个淘宝网的核心交易系统已经全部运行在基于PC服务器的 MySQL数据库集群中, 全部实例数超过2000个。2012年的“双11大促中, MySQL单库经受了最高达6.5万的QPS, 某个拥有32个节点的核心集群的总QPS则稳定在86万以上,并且在整个大促(包括之前三年的“双11”大促)期间, 数据库未发生过任何影响大促的重大故障。当然,这个结果,也得益于淘宝网整个应用架构的设计, 以及这几年来革命性的闪存设备的迅猛发展。

2008年,淘宝DBA团队准备从 Oracle MySQL的时候,团队中的大多数人对 MySQL MySQL的讨论也不多见, 网上能找到的大多数中文资料基本上关注的还是如何安装如何配置主备复制等。

我们写这本书不仅仅是为了满足 MySQL MySQL数据库管理员的需要。 我们假定读者已经有了一定的 MySQL基础。我们还假定读者对于系统管理、 网络和类Unix的操作系统都有一些了解。

本书的第二版为读者提供了大量的信息,但没有一本书是可以涵盖一个主题的所有方面的。 在第二版和第三版之间的这段时间里,我们记录了数以千计有趣的问题,其中有些是我们解决的, 也有一些是我们观察到其他人解决的。当我们在规划第三版的时候发现,如果要把这些主题完全覆盖, 可能三千页到五千页的篇幅都还不够,这样本书的完成就遥遥无期了。 在反思这个问题后,我们意识到第二版强调的广泛的覆盖度事实上有其自身的限制, 从某种意义上来说也没有引导读者如何按照 MySQL的方式来思考问题。 所以第三版和第二版的关注点有很大的不同。我们虽然还是会包含很多的信息, 并且会强调同样的诸如可靠性和正确性的目标,但我们也会在本书中尝试更深入的讨论:我们会指出 MySQL MySQL做了什么。 我们会使用更多的演示和案例学习来将上述原则落地。通过这样的方式, 我们希望能够尝试回到下面这样的问题:“给出 MySQL的内部结构和操作,对于实际应用能带来什么帮助? 为什么能有这样的帮助?如何让 MySQL适合(或者不适合)特定的需求?” 最后,我们希望关于内部原理的知识能够帮助大家解决本书没有覆盖到的一些情况。 我们更希望读者能培养发现新问题的洞察力,能学习和实践合理的方式来设计、维护和诊断基于 MySQL的系统。