高可用MySQL(第2版)pdf

图书网 2021年6月30日22:05:391 1.7K
摘要

学习复制的基础知识,包括二进制日志和MySQL Replicant库的使用通过冗余处理失效组件横向扩展以管理读负载的增加,使用数据分片处理大型数据库和写负载的增加使用MySQL集群在单个节点上存储并复制数据监控数据库活动和性能,以及重要的操作系统参数跟踪master和slave,处理它们的故障、重启、崩溃及其他事故检查工具,包括MySQL企业监控器、MySQL实用工具、GTID等

高可用MySQL(第2版) 作者:[美] Charles Bell(查理斯·贝尔),Mats Kindahl(迈茨·肯德尔),Lars Thalmann(拉尔斯·塞尔曼)

高可用MySQL(第2版) 出版社:电子工业出版社

高可用MySQL(第2版) 内容简介

《高可用MySQL(第2版)》主要讲解真实环境下如何使用MySQL的复制、集群和监控特性,揭示MySQL可靠性和高可用性的方方面面。《高可用MySQL(第2版)》定位于解决MySQL数据库的常见应用瓶颈,在保持MySQL持续可用性的前提下,挖潜各种提高性能的解决方案。《高可用MySQL(第2版)》描述了很多MySQL工具的变化,涵盖了5.5版本的知识,以及若干5.6版本的功能。《高可用MySQL(第2版)》的作者正是书中介绍的很多工具的设计师,《高可用MySQL(第2版)》揭示了MySQL可靠性和高可用性的许多不为人知的方面。

《高可用MySQL(第2版)》适用于MySQL数据库管理员及MySQL应用开发者。对于相关专业的师生,也有很高的参考价值。

高可用MySQL(第2版) 目录

译者序

第2版序

第1版序

前言

第1部分 高可用性和可扩展性

第1章 引言

到底什么是复制

那么,是否需要备份

什么是监控

其他阅读材料

小结

第2章 MySQL Replicant库

基本类和函数

对各种操作系统的支持

服务器

服务器角色

小结

第3章 MySQL复制原理

复制的基本步骤

配置master

配置slave

连接master和slave

二进制日志简介

二进制日志记录了什么

观察复制的动作

二进制日志的结构和内容

建立新slave

克隆master

克隆slave

克隆操作的脚本

执行常见的复制任务

报表

小结

第4章 二进制日志

二进制日志的结构

binlog事件的结构

事件校验

将语句写入日志

写入DML语句

写入DDL语句

写入查询

LOAD DATA INFILE语句

二进制日志过滤器

触发器、事件和存储例程

存储过程

存储函数

事件

特殊结构

非事务型变更和错误处理

将事务写入日志

使用XA进行分布式事务处理

二进制日志的组提交

基于行的复制

启用基于行的复制

使用混合模式

二进制日志管理

二进制日志和系统崩溃安全

binlog文件轮换

事故

清除binlog文件

mysqlbinlog实用工具

基本用法

解释事件

二进制日志的选项和变量

基于行的复制参数

小结

第5章 面向高可用性的复制

冗余

计划

slave故障

master故障

relay故障

灾难恢复

方法

热备份

双主结构

提升slave

环形复制

小结

第6章 面向横向扩展的MySQL复制

横向扩展读操作,而不是写操作

异步复制的价值

管理复制拓扑

应用层的负载均衡

级联复制

配置relay

使用Python添加relay

专用slave

过滤复制事件

使用过滤将事件分配给slave

数据的一致性管理

非级联部署的一致性

级联部署的一致性

小结

第7章 数据分片

什么是数据分片

为什么要分片

分片的局限性

分片方案的要素

高级分片架构

数据分区

分配分片

映射分片关键字

分片方案

分片映射函数

处理查询和事务调度

处理事务

分配查询

分片管理

将分片迁移到其他节点

分割分片

小结

第8章 深入复制

复制架构基础

中继日志的结构

复制线程

启动和停止slave线程

通过Internet运行复制

使用内置支持建立安全复制

使用Stunnel建立安全复制

细粒度控制复制

关于复制状态的信息

处理断开连接的选项

slave如何处理事件

管理I/O线程

SQL线程的处理

半同步复制

配置半同步复制

监控半同步复制

全局事务标识符

使用GTID配置复制

使用GTID进行故障转移

使用GTID提升slave

GTID的复制

slave的安全和恢复

同步、事务以及数据库崩溃问题

事务型复制

保护非事务型语句的规则

多源复制

基于行的复制的细节

Table_map事件

行事件的结构

行事件的执行

事件和触发器

基于行的复制中的过滤

部分行复制

小结

第9章 MySQL集群

什么是MySQL集群

术语和组件

MySQL集群和MySQL有何不同

典型配置

MySQL集群的特点

本地和全局冗余

日志处理

冗余和分布式数据

MySQL集群的架构

如何存储数据

分区

事务管理

联机操作

配置实例

入门

启动MySQL集群

测试集群

关闭集群

获得高可用性

系统恢复

节点恢复

复制

获得高性能

高性能的注意事项

高性能的最佳实践

小结

第2部分 监控和管理

第10章 监控入门

监控方法

监控的好处

监控系统组件

处理器

内存

磁盘

网络子系统

监控方案

Linux和UNIX监控

进程活动

内存利用率

磁盘利用率

网络活动

常见系统统计信息

使用cron自动监控

Mac OS X 监控

System Profiler

控制台

Activity Monitor

Microsoft Windows监控

Windows体验

系统健康报告

事件查看器

可靠性监视器

任务管理器

性能监视器

预防性维护监控

小结

第11章 监控MySQL

什么是性能

MySQL服务器监控

如何显示MySQL性能

性能监控

SQL命令

mysqladmin实用工具

MySQL工作台

第三方工具

MySQL基准测试套件

服务器日志

性能模式

概念

入门

使用性能模式诊断性能问题

MySQL的监控分类

数据库性能

衡量数据库的性能

数据库优化的最佳实践

提高性能的最佳实践

一切都很慢

查询慢

应用慢

复制慢

小结

第12章 监控存储引擎

InnoDB

使用SHOW ENGINE命令

使用InnoDB监视器

监控日志文件

监控缓冲池

监控表空间

使用INFORMATION_SCHEMA表

使用PERFORMANCE_SCHEMA表

其他需要考虑的参数

InnoDB故障排除的技巧

MyISAM

优化磁盘存储

修复表

使用MyISAM实用工具

按索引顺序存储表

压缩表

对数据表进行碎片整理

监控key cache

预加载key cache

使用多个key cache

其他需要考虑的参数

小结

第13章 监控复制

入门

服务器设置

包容性和排他性复制

复制线程

监控master

master的监控命令

master的状态变量

监控slave

slave的监控命令

slave的状态变量

使用MySQL工作台监控复制

其他需要考虑的问题

网络

监控和管理slave滞后

slave滞后的原因和预防措施

使用GTID

小结

第14章 复制的故障排除

哪里出错了

master上的问题

master崩溃及Memory表被占用

master崩溃及二进制日志事件丢失

master上查询正常但在slave上出错

崩溃之后表损坏

master上的二进制日志损坏

杀死非事务型表上长时间运行的查询

不安全的语句

slave上的问题

slave服务器崩溃及复制无法启动

slave连接超时及反复重新连接

slave上的查询结果与master上的不同

当尝试重启SSL时slave出错

内存表数据丢失

slave崩溃后临时表丢失

slave运行慢而且与master不同步

slave崩溃后数据丢失

崩溃后表损坏

slave上中继日志损坏

slave重启时的多个错误

slave上事务失败的后果

I/O线程的问题

SQL线程的问题:不一致

slave上的错误不一样

高级复制问题

变更没有在拓扑中复制

环形复制的问题

多master的问题

HA_ERR_KEY_NOT_FOUND错误

GTID问题

复制的故障排除工具

最佳实践

了解你的拓扑结构

检查所有服务器的状态

检查日志

检查配置

有序地执行关闭操作

有序地执行故障后的重启操作

手动执行失败的查询

不要混合使用事务型表和非事务型表

一般步骤

报告复制错误

小结

第15章 保护你的资产

什么是信息保护

信息保障的三个实践

信息保障为什么重要

信息完整性、灾难恢复及备份的职责

高可用性与灾难恢复

灾难恢复

数据恢复的重要性

备份和恢复

备份实用程序和操作系统层的解决方案

MySQL企业备份

使用MySQL实用工具集进行数据库的导出和导入

mysqldump工具

物理文件复制

逻辑卷管理器快照

XtraBackup

备份方法的比较

备份和MySQL复制

使用复制进行备份和恢复

PITR

自动备份

小结

第16章 MySQL企业版监控

MySQL企业版监控入门

产品

剖析MySQL企业监控器

安装概述

MySQL企业监控组件

Dashboard

监控代理

advisor

查询分析器

MySQL产品支持

使用MySQL企业版监控

监控

查询分析器

更多信息

小结

第17章 使用MySQL实用工具管理MySQL复制

常见的MySQL复制任务

状态检查

停止复制

添加slave

MySQL实用工具

入门

不通过工作台使用实用工具

通过工作台使用实用工具

常用工具

比较数据库的一致性:mysqldbcompare

复制数据库:mysqldbcopy

导出数据库:mysqldbexport

导入数据库:mysqldbimport

发现不同:mysqldiff

显示磁盘使用情况:mysqldiskusage

检查表的索引:mysqlindexcheck

查找元数据:mysqlmetagrep

查找进程:mysqlprocgrep

克隆服务器:mysqlserverclone

显示服务器信息:mysqlserverinfo

克隆用户:mysqluserclone

实用工具客户端:mysqluc

复制的实用工具

配置复制:mysqlreplicate

检查复制的配置:mysqlrplcheck

显示拓扑结构:mysqlrplshow

高可用的实用工具

概念

mysqlrpladmin

mysqlfailover

创建自己的实用工具

MySQL实用工具的结构

自定义工具的示例

小结

附录A 复制的提示和技巧

附录B 一个GTID的实现

高可用MySQL(第2版) 精彩文摘

创建新服务器

无论用于横向扩展的slave,还是备用的新master,创建新服务器都需要对已有服务器做备份,并在新服务器上恢复这个备份映像。这需要有一个快速高效的备份方法来最小化宕机时间,并保持系统负载维持在一个可接受的水平。

法律原因

除了纯粹业务原因需要保护数据外,法律规定也可能要求保证数据安全,即使在灾难发生时。不遵守这些规定会给业务运作带来重大问题。

简而言之,不管有没有其他的预防措施来保证数据的安全,备份策略对于业务运作都是必需的。

什么是监控

即便已经正确搭建了复制,还有必要理解你的系统负载,并密切监控可能发生的任何问题。客户使用模式的改变将导致业务需求变化,需要平衡系统以尽可能高效地使用资源,降低由于资源利用的突然变更导致系统不可用性的风险。

为了应对这些变更,有很多监控、度量和计划的方法,比如:

为频繁读取的表添加索引。

重写查询或者改变数据库的结构,以缩短执行时间。

如果锁被长时间占用,表示多个连接正在使用同一个表,可能要切换存储引擎。

在横向扩展的数据库复制架构下,如果某些slave处理了大量的查询,处于过热状态,系统可能需要重新均衡,以保证所有slave都被平均地访问。

在处理资源使用的突然变更时,首先确定每个服务器的正常负载,然后了解在负载突然增加时,系统响应什么时候开始变慢。

图书网:高可用MySQL(第2版)pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

人在职场

面试沟通巧技能pdf

适读人群 :本书可为广大求职者面试提供有益指导,也适合作为各层次毕业生找工作的指导用书。 面试,实质是沟通!谁掌握了面试沟通的巧技能,谁就获得了面试的致胜法宝。本书讲述了求职者在面...
人工智能

深度学习之PyTorch实战计算机视觉pdf

适读人群 :本书面向对深度学习技术感兴趣,但是相关基础知识较为薄弱或者零基础的读者。 作者的文笔很好,对深度学习、Python、PyTorch、神经网络、迁移学习及相关数学知识讲解...
项目管理IT人文

关键链pdf

关键链 作者: 艾利·高德拉特 译者: 罗嘉颖 关键链 出版社: 电子工业出版社 关键链 内容简介 《关键链(修订本)》内容简介:项目无处不在.但都有一定的特征:可动用的资源有限;有完成日期及开支限制...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:1   其中:访客  1   博主  0
    • hhjgh
      hhjgh 1

      可以呀,天天向上。好开心呀一起来学习吧