高可用MySQL:构建健壮的数据中心
唐李洋,合肥工业大学在读博士,研究方向为云计算、并行计算、数据挖掘与分析等。曾经在CiscoWebEx实习,主要从事数据架构方面的设计与分析工作。
诸云萍,合肥工业大学计算机专业学士,中国科学技术大学工商管理硕士(MBA),Oracle认证OCP。从事数据库开发、测试与管理工作5年以上,具有丰富的MySQL,Oracle,Sybase等关系型数据库项目实践经验。曾在神州数码安徽移动BOSS项目组负责报表开发工作,现就职于Cisco-WebEx合肥分公司,从事Oracle,Mysql数据库以及ETL的测试与管理工作。
诸云萍,合肥工业大学计算机专业学士,中国科学技术大学工商管理硕士(MBA),Oracle认证OCP。从事数据库开发、测试与管理工作5年以上,具有丰富的MySQL,Oracle,Sybase等关系型数据库项目实践经验。曾在神州数码安徽移动BOSS项目组负责报表开发工作,现就职于Cisco-WebEx合肥分公司,从事Oracle,Mysql数据库以及ETL的测试与管理工作。
《O'Reilly 高可用MySQL:构建健壮的数据中心》是“MySQL High Availability”的中文翻译版,主要讲解真实环境下如何使用MySQL的复制、集群和监控特性,揭示MySQL可靠性和高可用性的方方面面。《O'Reilly 高可用MySQL:构建健壮的数据中心》由MySQL开发团队亲自执笔,定位于解决MySQL数据库的常见应用瓶颈,在保持MySQL的持续可用性的前提下,挖潜各种提高性能的解决方案。《O'Reilly 高可用MySQL:构建健壮的数据中心》分为三个部分。第一部分讲述MySQL复制,包括高可用性和横向扩展,第二部分介绍构建健壮的数据中心时监控和性能方面的问题,第三部分给出其他MySQL相关内容,包括云计算和MySQL集群。
Table of Contents
前言 i
第一部分 复制
第1章 引言
到底什么是复制
那么,是否需要备份
什么是监控
还有什么我可以阅读的
小结
第2章 MySQL复制原理
复制的基本步骤
配置Master
配置Slave
连接Master和Slave
二进制日志简介
二进制日志记录了什么
观察复制的动作
二进制日志的结构和内容
使用Python管理复制
viii | 目录
基本类及函数
操作系统
服务器类
服务器角色
建立新Slave
克隆Master
克隆Slave
克隆操作的脚本
执行常见的复制任务
报表
小结
第3章 二进制日志
二进制日志的结构
Binlog事件的结构
记录语句
记录数据操作语言
记录数据定义语言
记录查询
LOAD DATA INFILE语句
二进制日志过滤器
触发器、事件和存储程序
存储过程
存储函数
Events
特殊结构
非事务性的变化和错误处理
记录事务
事务缓存
使用XA进行分布式事务处理
目录 | ix
二进制日志管理
二进制日志和系统崩溃安全
Binlog文件轮换(Rotation)
事故(incident)
清除binlog文件
mysqlbinlog实用工具
基本用法
解释事件(Interpreting Events)
二进制日志选项和变量
小结
第4章 基于复制的数据库高可用技术
冗余
计划
Slave故障
Master故障
中继服务器故障
灾难恢复
程序
热备份
双Master
半同步复制
Slave的提升
循环复制
小结
第5章 MySQL集群的横向扩展
读操作的横向扩展
异步复制的价值
管理复制拓扑
x | 目录
应用层负载均衡器示例
级联复制(Hierarchal Replication)
中继服务器的设置
使用Python添加中继服务器
专用Slave
过滤复制事件
使用过滤将事件分配给Slave
数据分片
分片的表示
数据分区
分片之间的均衡
一个分片的例子
数据的一致性管理
非级联部署中的一致性
级联部署中的一致性
小结
第6章 高级复制
复制架构基础
中继日志的结构
复制线程
Slave线程的启动和停止
通过Internet运行复制
使用内置支持建立安全复制
使用Stunnel建立安全复制
细粒度控制复制
关于复制状态的信息
处理断开连接的参数
Slave是如何处理事件的
管理I/O线程
目录 | xi
SQL线程的处理
Slave的安全和恢复
同步,事务和数据库崩溃问题
保护非事务性语句的规则
多源复制
基于行的复制
基于行的复制参数
混合模式的复制
处理基于行复制的事件
事件的执行
事件和触发器
过滤
小结
第二部分 监控和灾难恢复
第7章 监控入门
监控方法
监控的好处
监控系统组件
处理器
内存
磁盘
网络子系统
监控方法
Linux和UNIX监控
进程活动
内存利用率
磁盘利用率
网络活动
xii | 目录
常见系统统计信息
使用cron自动监控
Mac OS X 监控
System profile
控制台(console)
Activity Monitor
Microsoft Windows监控
Windows Experience
System health report
Event Viewer(事件查看器)
Reliability Monitor
The Task Manager(任务管理器)
Performance Monitor
预防性维护监控
小结
第8章 监控MySQL
什么是性能
MySQL服务器监控
如何显示MySQL性能
性能监控
SQL命令
mysqladmin实用工具
MySQL GUI工具
MySQL管理器
MySQL查询浏览器
服务器日志
第三方工具
MySQL Benchmark套件
目录 | xiii
数据库性能
测量数据库性能
数据库优化的最佳实践
提高性能的最佳实践
一切都慢
慢查询
慢应用
慢复制
小结
第9章 监控存储引擎
MyISAM
优化磁盘存储
优化数据库表
使用MyISAM实用工具
按索引顺序存储表
压缩表
对数据表进行碎片整理
监控Key Cache
预加载Key Cache
使用多个Key Cache
其他需要考虑的参数
InnoDB
使用SHOW ENGINE命令
使用InnoDB监控器
监控日志文件
监控缓冲池
监控表空间
使用INFORMATION_SCHEMA表
xiv | 目录
其他需要考虑的参数
小结
第10章 复制监控
开始
安装服务器
包容性和排他性复制
复制线程
监控Master
Master的监控命令
Master状态变量
监控Slave
Slave的监控命令
Slave的状态变量
使用MySQL管理器监控复制
其他需要考虑的项
网络
监控和管理Slave滞后
Slave延迟的原因和预防措施
小结
第11章 复制的故障排除
什么导致错误发生
Master上的问题
Slave上的问题
高级复制问题
排除复制故障的工具
最佳实践
了解你的拓扑结构
查询所有服务器的状态
目录 | xv
查看日志
检查配置信息
有序执行系统关闭
在遇到错误后按序执行重启
手动执行失败查询
常用程序
报告复制故障
小结
第12章 保护你的投资
什么是信息保障
信息保障的三个应用
信息保障为什么重要
信息完整性、灾难恢复及备份的职责
高可用性与灾难恢复
灾难恢复
数据恢复的重要性
备份和恢复
备份实用程序和操作系统级的解决方案
InnoDB Hot Backup应用
物理文件的复制
mysqldump工具
XtraBackup
逻辑卷管理器快照
备份方法的比较
备份和MySQL复制
使用复制进行备份和恢复
PITR
自动备份
xvi | 目录
小结
第13章 MySQL企业版
MySQL企业版入门
订阅级别
安装概述
MySQL企业组件
MySQL企业服务器
MEM
MySQL产品支持
MySQL企业版的使用
安装
修复监控代理问题
监控
查询分析器
更多信息
小结
第三部分 高可用性环境
第14章 云计算解决方案
什么是云计算
云架构
云计算是一种经济的选择吗
云计算实例
云计算的好处
云计算供应商
AWS
技术简要概述
它是如何工作的
目录 | xvii
Amazon Cloud工具
入门
使用磁盘
接下来怎么做
云中的MySQL
MySQL复制和EC
EC2中使用MySQL的最佳实践
开源云计算
小结
第15章 MySQL集群
什么是MySQL集群
术语和组件
MySQL集群和MySQL有何不同
典型配置
MySQL集群的特点
局部和全局冗余
日志处理
冗余和分布式数据
MySQL集群的架构
如何存储数据
分区
事务管理
联机操作
配置实例
入门
启动MySQL集群
集群测试
关闭集群
xviii | 目录
达到高可用性
系统恢复
节点恢复
复制
获得高性能
高性能的注意事项
高性能的最佳实践
小结
附录A 复制建议和窍门
Slave停机了,怎么办
检查冗长的二进制日志
利用复制在表中重建数据
基于语句的日志
基于行的日志
使用MySQL Proxy来完成多Master的复制
使用默认的存储引擎
MySQL Cluster 多源(Multisource)复制
多路(Multichannel)复制故障转移
使用当前数据库来过滤
Slave上的列比Master上多
Slave上的列比Master上少
选择某几列复制到Slave
复制心跳
在环形复制中忽略服务器
功能预览:延时复制
功能预览:脚本式复制
功能预览:Oracle算法
索引
^ 收 起
前言 i
第一部分 复制
第1章 引言
到底什么是复制
那么,是否需要备份
什么是监控
还有什么我可以阅读的
小结
第2章 MySQL复制原理
复制的基本步骤
配置Master
配置Slave
连接Master和Slave
二进制日志简介
二进制日志记录了什么
观察复制的动作
二进制日志的结构和内容
使用Python管理复制
viii | 目录
基本类及函数
操作系统
服务器类
服务器角色
建立新Slave
克隆Master
克隆Slave
克隆操作的脚本
执行常见的复制任务
报表
小结
第3章 二进制日志
二进制日志的结构
Binlog事件的结构
记录语句
记录数据操作语言
记录数据定义语言
记录查询
LOAD DATA INFILE语句
二进制日志过滤器
触发器、事件和存储程序
存储过程
存储函数
Events
特殊结构
非事务性的变化和错误处理
记录事务
事务缓存
使用XA进行分布式事务处理
目录 | ix
二进制日志管理
二进制日志和系统崩溃安全
Binlog文件轮换(Rotation)
事故(incident)
清除binlog文件
mysqlbinlog实用工具
基本用法
解释事件(Interpreting Events)
二进制日志选项和变量
小结
第4章 基于复制的数据库高可用技术
冗余
计划
Slave故障
Master故障
中继服务器故障
灾难恢复
程序
热备份
双Master
半同步复制
Slave的提升
循环复制
小结
第5章 MySQL集群的横向扩展
读操作的横向扩展
异步复制的价值
管理复制拓扑
x | 目录
应用层负载均衡器示例
级联复制(Hierarchal Replication)
中继服务器的设置
使用Python添加中继服务器
专用Slave
过滤复制事件
使用过滤将事件分配给Slave
数据分片
分片的表示
数据分区
分片之间的均衡
一个分片的例子
数据的一致性管理
非级联部署中的一致性
级联部署中的一致性
小结
第6章 高级复制
复制架构基础
中继日志的结构
复制线程
Slave线程的启动和停止
通过Internet运行复制
使用内置支持建立安全复制
使用Stunnel建立安全复制
细粒度控制复制
关于复制状态的信息
处理断开连接的参数
Slave是如何处理事件的
管理I/O线程
目录 | xi
SQL线程的处理
Slave的安全和恢复
同步,事务和数据库崩溃问题
保护非事务性语句的规则
多源复制
基于行的复制
基于行的复制参数
混合模式的复制
处理基于行复制的事件
事件的执行
事件和触发器
过滤
小结
第二部分 监控和灾难恢复
第7章 监控入门
监控方法
监控的好处
监控系统组件
处理器
内存
磁盘
网络子系统
监控方法
Linux和UNIX监控
进程活动
内存利用率
磁盘利用率
网络活动
xii | 目录
常见系统统计信息
使用cron自动监控
Mac OS X 监控
System profile
控制台(console)
Activity Monitor
Microsoft Windows监控
Windows Experience
System health report
Event Viewer(事件查看器)
Reliability Monitor
The Task Manager(任务管理器)
Performance Monitor
预防性维护监控
小结
第8章 监控MySQL
什么是性能
MySQL服务器监控
如何显示MySQL性能
性能监控
SQL命令
mysqladmin实用工具
MySQL GUI工具
MySQL管理器
MySQL查询浏览器
服务器日志
第三方工具
MySQL Benchmark套件
目录 | xiii
数据库性能
测量数据库性能
数据库优化的最佳实践
提高性能的最佳实践
一切都慢
慢查询
慢应用
慢复制
小结
第9章 监控存储引擎
MyISAM
优化磁盘存储
优化数据库表
使用MyISAM实用工具
按索引顺序存储表
压缩表
对数据表进行碎片整理
监控Key Cache
预加载Key Cache
使用多个Key Cache
其他需要考虑的参数
InnoDB
使用SHOW ENGINE命令
使用InnoDB监控器
监控日志文件
监控缓冲池
监控表空间
使用INFORMATION_SCHEMA表
xiv | 目录
其他需要考虑的参数
小结
第10章 复制监控
开始
安装服务器
包容性和排他性复制
复制线程
监控Master
Master的监控命令
Master状态变量
监控Slave
Slave的监控命令
Slave的状态变量
使用MySQL管理器监控复制
其他需要考虑的项
网络
监控和管理Slave滞后
Slave延迟的原因和预防措施
小结
第11章 复制的故障排除
什么导致错误发生
Master上的问题
Slave上的问题
高级复制问题
排除复制故障的工具
最佳实践
了解你的拓扑结构
查询所有服务器的状态
目录 | xv
查看日志
检查配置信息
有序执行系统关闭
在遇到错误后按序执行重启
手动执行失败查询
常用程序
报告复制故障
小结
第12章 保护你的投资
什么是信息保障
信息保障的三个应用
信息保障为什么重要
信息完整性、灾难恢复及备份的职责
高可用性与灾难恢复
灾难恢复
数据恢复的重要性
备份和恢复
备份实用程序和操作系统级的解决方案
InnoDB Hot Backup应用
物理文件的复制
mysqldump工具
XtraBackup
逻辑卷管理器快照
备份方法的比较
备份和MySQL复制
使用复制进行备份和恢复
PITR
自动备份
xvi | 目录
小结
第13章 MySQL企业版
MySQL企业版入门
订阅级别
安装概述
MySQL企业组件
MySQL企业服务器
MEM
MySQL产品支持
MySQL企业版的使用
安装
修复监控代理问题
监控
查询分析器
更多信息
小结
第三部分 高可用性环境
第14章 云计算解决方案
什么是云计算
云架构
云计算是一种经济的选择吗
云计算实例
云计算的好处
云计算供应商
AWS
技术简要概述
它是如何工作的
目录 | xvii
Amazon Cloud工具
入门
使用磁盘
接下来怎么做
云中的MySQL
MySQL复制和EC
EC2中使用MySQL的最佳实践
开源云计算
小结
第15章 MySQL集群
什么是MySQL集群
术语和组件
MySQL集群和MySQL有何不同
典型配置
MySQL集群的特点
局部和全局冗余
日志处理
冗余和分布式数据
MySQL集群的架构
如何存储数据
分区
事务管理
联机操作
配置实例
入门
启动MySQL集群
集群测试
关闭集群
xviii | 目录
达到高可用性
系统恢复
节点恢复
复制
获得高性能
高性能的注意事项
高性能的最佳实践
小结
附录A 复制建议和窍门
Slave停机了,怎么办
检查冗长的二进制日志
利用复制在表中重建数据
基于语句的日志
基于行的日志
使用MySQL Proxy来完成多Master的复制
使用默认的存储引擎
MySQL Cluster 多源(Multisource)复制
多路(Multichannel)复制故障转移
使用当前数据库来过滤
Slave上的列比Master上多
Slave上的列比Master上少
选择某几列复制到Slave
复制心跳
在环形复制中忽略服务器
功能预览:延时复制
功能预览:脚本式复制
功能预览:Oracle算法
索引
^ 收 起
唐李洋,合肥工业大学在读博士,研究方向为云计算、并行计算、数据挖掘与分析等。曾经在CiscoWebEx实习,主要从事数据架构方面的设计与分析工作。
诸云萍,合肥工业大学计算机专业学士,中国科学技术大学工商管理硕士(MBA),Oracle认证OCP。从事数据库开发、测试与管理工作5年以上,具有丰富的MySQL,Oracle,Sybase等关系型数据库项目实践经验。曾在神州数码安徽移动BOSS项目组负责报表开发工作,现就职于Cisco-WebEx合肥分公司,从事Oracle,Mysql数据库以及ETL的测试与管理工作。
诸云萍,合肥工业大学计算机专业学士,中国科学技术大学工商管理硕士(MBA),Oracle认证OCP。从事数据库开发、测试与管理工作5年以上,具有丰富的MySQL,Oracle,Sybase等关系型数据库项目实践经验。曾在神州数码安徽移动BOSS项目组负责报表开发工作,现就职于Cisco-WebEx合肥分公司,从事Oracle,Mysql数据库以及ETL的测试与管理工作。
《O'Reilly 高可用MySQL:构建健壮的数据中心》是“MySQL High Availability”的中文翻译版,主要讲解真实环境下如何使用MySQL的复制、集群和监控特性,揭示MySQL可靠性和高可用性的方方面面。《O'Reilly 高可用MySQL:构建健壮的数据中心》由MySQL开发团队亲自执笔,定位于解决MySQL数据库的常见应用瓶颈,在保持MySQL的持续可用性的前提下,挖潜各种提高性能的解决方案。《O'Reilly 高可用MySQL:构建健壮的数据中心》分为三个部分。第一部分讲述MySQL复制,包括高可用性和横向扩展,第二部分介绍构建健壮的数据中心时监控和性能方面的问题,第三部分给出其他MySQL相关内容,包括云计算和MySQL集群。
比价列表