MySQL性能调优与架构设计

分类: 图书,计算机/网络,数据库,SQL,
作者: 简朝阳著
出 版 社: 电子工业出版社
出版时间: 2009-6-1字数:版次: 1页数: 392印刷时间:开本: 16开印次: 1纸张:I S B N : 9787121087400包装: 平装编辑推荐
支付宝架构师冯大辉、淘宝首席DBA陈吉平、阿里巴巴首席DBA冯春培、网易高级DBA翟振兴、搜狐高级DBA叶金荣、百度高级DBA吴诗展等6位数据库专家作序推荐。
初级DBA到LAMP架构设计师必备利器。
剖析高性能高可用MySQL调优方法,探索低成本数据库系统构建之道。
内容简介
本书以 MySQL 数据库的基础及维护为切入点,重点介绍了 MySQL 数据库应用系统的性能调优,以及高可用可扩展的架构设计。
全书共分3篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份恢复知识。性能优化篇从影响 MySQL 数据库应用系统性能的因素开始,针对性地对各个影响因素进行调优分析。如 MySQL Schema 设计的技巧,Query 语句的性能优化方式方法及MySQL Server中SQL层和存储引擎层的优化思路。同时还分析了 MySQL 数据库中主要存储引擎的锁定机制。架构设计篇则主要以设计一个高可用可扩展的分布式企业级数据库集群环境为目标,分析介绍了通过 MySQL 实现这一目标的多种架构方式。主要包括可扩展和高可用两部分内容,可扩展部分包括设计原则、Replication 的利用、数据切分、如何使用 Cache 和 Search,以及 NDB Cluster等内容。高可用则主要包括 Dual Master、DRBD、NDB Cluster,以及系统监控等方面。
本书主要面向有一定的 MySQL 基础或至少有一定SQL语言基础的读者朋友。
作者简介
简朝阳,毕业于南京工业大学管理科学与工程学院,管理学学士。擅长MySQL & Oracle数据库应用系统的性能调优与高可用可扩展架构设计,有一定的Java 和C语言基础。目前就职于阿里巴巴(中国)网络技术有限公司,曾参与过公司多个核心数据库应用系统的设计与实施,目前主要负责 MySQL 数据库应用系统的架构设计与相关维护工作。活跃于 iMySQLer 数据库论坛(http://imysqler.com) 和 MySQL 邮件组(mysqler@googlegroups.com, http://groups.google.com/group/mysqler),欢迎大家以 Open 的心态一起分享MySQL数据库方面的经验心得。
目录
第1篇基础篇
第1章MySQL基本介绍
1.0引言
1.1MySQLServer简介
1.2MySQL与其他数据库的简单比较
1.3MySQL的主要适用场景
1.4小结
第2章MySQL架构组成
2.0引言
2.1MySQL物理文件组成
2.2MySQLServer系统架构
2.3MySQL自带工具使用介绍
2.4小结
第3章MySQL存储引擎简介
3.0引言
3.1MySQL存储引擎概述
3.2MyISAM存储引擎简介
3.3InnoDB存储引擎简介
第4章MySQL安全管理
4.0引言
4.1数据库系统安全相关因素
4.2MySQL权限系统介绍
4.3MySQL访问授权策略
4.4安全设置注意事项
4.5小结
第5章MySQL备份与恢复
5.0引言
5.1数据库备份使用场景
5.2逻辑备份与恢复测试
5.3物理备份与恢复测试
5.4备份策略的设计思路
5.5小结
第2篇性能优化篇
第6章影晌MySQLServer性能的相关因素
6.0引言
6.1商业需求对性能的影响
6.2系统架构及实现对性能的影响
6.3Query语句对系统性能的影响
6.4Schema设计对系统的性能影响
6.5硬件环境对系统性能的影响
6.6小结
第7章MySQL数据库锁定机制
7.0引言
7.1MySQL锁定机制简介
7.2各种锁定机制分析
7.3合理利用锁机制优化MySQL
7.4小结
第8章MySQL数据库Query的优化
8.0引言
8.1理解MySQL的Query Optimizer
……
第9章MySQL数据库Schema设计的性能优化
第10章MySQL Server性能优化
第11章常用存储引擎优化
第3篇架构设计篇
第12章MySQL可扩展设计的基本原则
第13章可扩展性设计之MySQL Replication
第14章可扩展性设计之数据切分
第15章可扩展性设计之Cache与Search的利用
第16章MySQL Cluster
第17章高可用设计思路及方案
第18章高可用设计之MySQL监控
附录A实验测试Schema创建脚本
附录BMySQL部分系统参数说明及设置建议
附录CMySQL部分状态说明
索引
书摘插图
第2章MySQL架构组成
2.0 引言
麻雀虽小,五脏俱全。MySQL虽然以简单著称,但其内部结构并不简单。本章从MySQL物理组成、逻辑组成,以及相关工具几个角度来介绍MySQL的整体架构,希望能够让读者对MySQL有一个更全面深入的了解。
2.1 MySQL物理文件组成
2.1.1 日志文件
1.错误日志:Error Log
错误日志记录了MyQL Server运行过程中所有较为严重的警告和错误信息,以及MySQLServer每次启动和关闭的详细信息。在默认情况下,系统记录错误日志的功能是关闭的,错误信息被输出到标准错误输出(stderr),如果要开启系统记录错误日志的功能,须要在启动时开启-log-error选项。错误日志默认存放在数据目录下,以hostname.err命名。但是可以使用命令:-log-error[=file_name]修改其存放目录和文件名。
为了方便维护,有时候会希望将错误日志中的内容做备份并重新开始记录,这时候就可以利用MySQL的FLUSH LOGS命令来告诉MySQL备份旧日志文件并生成新的日志文件。备份文件名以“.old”结尾。
……