出版時(shí)間:2011-10 出版社:電子工業(yè)出版社 作者:)Charles Bell Mats Kindahl Lars Thalmann 頁(yè)數(shù):604 譯者:寧青,唐李洋 諸云萍
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書(shū)是“MySQL High
Availability”的中文翻譯版,主要講解真實(shí)環(huán)境下如何使用MySQL的復(fù)制、集群和監(jiān)控特性,揭示MySQL可靠性和高可用性的方方面面。本書(shū)由MySQL開(kāi)發(fā)團(tuán)隊(duì)親自執(zhí)筆,定位于解決MySQL數(shù)據(jù)庫(kù)的常見(jiàn)應(yīng)用瓶頸,在保持MySQL的持續(xù)可用性的前提下,挖潛各種提高性能的解決方案。本書(shū)分為三個(gè)部分。第一部分講述MySQL復(fù)制,包括高可用性和橫向擴(kuò)展,第二部分介紹構(gòu)建健壯的數(shù)據(jù)中心時(shí)監(jiān)控和性能方面的問(wèn)題,第三部分給出其他MySQL相關(guān)內(nèi)容,包括云計(jì)算和MySQL集群。
作者簡(jiǎn)介
作者:(美國(guó))查理斯·貝爾 (Bell.C.) (美國(guó))邁茨·肯德?tīng)?(Kindahl.M.) (美國(guó))拉爾斯·塞爾曼 (Thalann.L.) 譯者:寧青 唐李洋 諸云萍寧青,工作過(guò)幾年,由一家小公司轉(zhuǎn)戰(zhàn)Cisco WebEx,現(xiàn)在淘寶數(shù)據(jù)平臺(tái)部架構(gòu)組下討生活。做過(guò)幾年Java,并會(huì)點(diǎn)Perl,Python。現(xiàn)專注于數(shù)據(jù)這塊,搞過(guò)Oracle和MySQL,順帶還考了個(gè)OCP認(rèn)證,但絕大多數(shù)時(shí)間是在Hive,Hadoop這塊瞎搞。唐李洋,合肥工業(yè)大學(xué)在讀博士,研究方向?yàn)樵朴?jì)算、并行計(jì)算、數(shù)據(jù)挖掘與分析等。曾經(jīng)在Cisco WebEx實(shí)習(xí),主要從事數(shù)據(jù)架構(gòu)方面的設(shè)計(jì)與分析工作。諸云萍,合肥工業(yè)大學(xué)計(jì)算機(jī)專業(yè)學(xué)士,中國(guó)科學(xué)技術(shù)大學(xué)工商管理碩士(MBA),Oracle認(rèn)證OCP。從事數(shù)據(jù)庫(kù)開(kāi)發(fā)、測(cè)試與管理工作5年以上,具有豐富的MySQL,Oracle,Sybase等關(guān)系型數(shù)據(jù)庫(kù)項(xiàng)目實(shí)踐經(jīng)驗(yàn)。曾在神州數(shù)碼安徽移動(dòng)BOSS項(xiàng)目組負(fù)責(zé)報(bào)表開(kāi)發(fā)工作,現(xiàn)就職于Cisco-WebEx合肥分公司,從事Oracle,Mysql數(shù)據(jù)庫(kù)以及ETL的測(cè)試與管理工作。
書(shū)籍目錄
Table of Contents
前言 i
第一部分 復(fù)制
第1章 引言
到底什么是復(fù)制
那么,是否需要備份
什么是監(jiān)控
還有什么我可以閱讀的
小結(jié)
第2章 MySQL復(fù)制原理
復(fù)制的基本步驟
配置Master
配置Slave
連接Master和Slave
二進(jìn)制日志簡(jiǎn)介
二進(jìn)制日志記錄了什么
觀察復(fù)制的動(dòng)作
二進(jìn)制日志的結(jié)構(gòu)和內(nèi)容
使用Python管理復(fù)制
viii | 目錄
基本類及函數(shù)
操作系統(tǒng)
服務(wù)器類
服務(wù)器角色
建立新Slave
克隆Master
克隆Slave
克隆操作的腳本
執(zhí)行常見(jiàn)的復(fù)制任務(wù)
報(bào)表
小結(jié)
第3章 二進(jìn)制日志
二進(jìn)制日志的結(jié)構(gòu)
Binlog事件的結(jié)構(gòu)
記錄語(yǔ)句
記錄數(shù)據(jù)操作語(yǔ)言
記錄數(shù)據(jù)定義語(yǔ)言
記錄查詢
LOAD DATA INFILE語(yǔ)句
二進(jìn)制日志過(guò)濾器
觸發(fā)器、事件和存儲(chǔ)程序
存儲(chǔ)過(guò)程
存儲(chǔ)函數(shù)
Events
特殊結(jié)構(gòu)
非事務(wù)性的變化和錯(cuò)誤處理
記錄事務(wù)
事務(wù)緩存
使用XA進(jìn)行分布式事務(wù)處理
目錄 | ix
二進(jìn)制日志管理
二進(jìn)制日志和系統(tǒng)崩潰安全
Binlog文件輪換(Rotation)
事故(incident)
清除binlog文件
mysqlbinlog實(shí)用工具
基本用法
解釋事件(Interpreting Events)
二進(jìn)制日志選項(xiàng)和變量
小結(jié)
第4章 基于復(fù)制的數(shù)據(jù)庫(kù)高可用技術(shù)
冗余
計(jì)劃
Slave故障
Master故障
中繼服務(wù)器故障
災(zāi)難恢復(fù)
程序
熱備份
雙Master
半同步復(fù)制
Slave的提升
循環(huán)復(fù)制
小結(jié)
第5章 MySQL集群的橫向擴(kuò)展
讀操作的橫向擴(kuò)展
異步復(fù)制的價(jià)值
管理復(fù)制拓?fù)?br />x | 目錄
應(yīng)用層負(fù)載均衡器示例
級(jí)聯(lián)復(fù)制(Hierarchal Replication)
中繼服務(wù)器的設(shè)置
使用Python添加中繼服務(wù)器
專用Slave
過(guò)濾復(fù)制事件
使用過(guò)濾將事件分配給Slave
數(shù)據(jù)分片
分片的表示
數(shù)據(jù)分區(qū)
分片之間的均衡
一個(gè)分片的例子
數(shù)據(jù)的一致性管理
非級(jí)聯(lián)部署中的一致性
級(jí)聯(lián)部署中的一致性
小結(jié)
第6章 高級(jí)復(fù)制
復(fù)制架構(gòu)基礎(chǔ)
中繼日志的結(jié)構(gòu)
復(fù)制線程
Slave線程的啟動(dòng)和停止
通過(guò)Internet運(yùn)行復(fù)制
使用內(nèi)置支持建立安全復(fù)制
使用Stunnel建立安全復(fù)制
細(xì)粒度控制復(fù)制
關(guān)于復(fù)制狀態(tài)的信息
處理斷開(kāi)連接的參數(shù)
Slave是如何處理事件的
管理I/O線程
目錄 | xi
SQL線程的處理
Slave的安全和恢復(fù)
同步,事務(wù)和數(shù)據(jù)庫(kù)崩潰問(wèn)題
保護(hù)非事務(wù)性語(yǔ)句的規(guī)則
多源復(fù)制
基于行的復(fù)制
基于行的復(fù)制參數(shù)
混合模式的復(fù)制
處理基于行復(fù)制的事件
事件的執(zhí)行
事件和觸發(fā)器
過(guò)濾
小結(jié)
第二部分 監(jiān)控和災(zāi)難恢復(fù)
第7章 監(jiān)控入門
監(jiān)控方法
監(jiān)控的好處
監(jiān)控系統(tǒng)組件
處理器
內(nèi)存
磁盤
網(wǎng)絡(luò)子系統(tǒng)
監(jiān)控方法
Linux和UNIX監(jiān)控
進(jìn)程活動(dòng)
內(nèi)存利用率
磁盤利用率
網(wǎng)絡(luò)活動(dòng)
xii | 目錄
常見(jiàn)系統(tǒng)統(tǒng)計(jì)信息
使用cron自動(dòng)監(jiān)控
Mac OS X 監(jiān)控
System profile
控制臺(tái)(console)
Activity Monitor
Microsoft Windows監(jiān)控
Windows Experience
System health report
Event Viewer(事件查看器)
Reliability Monitor
The Task Manager(任務(wù)管理器)
Performance Monitor
預(yù)防性維護(hù)監(jiān)控
小結(jié)
第8章 監(jiān)控MySQL
什么是性能
MySQL服務(wù)器監(jiān)控
如何顯示MySQL性能
性能監(jiān)控
SQL命令
mysqladmin實(shí)用工具
MySQL GUI工具
MySQL管理器
MySQL查詢?yōu)g覽器
服務(wù)器日志
第三方工具
MySQL Benchmark套件
目錄 | xiii
數(shù)據(jù)庫(kù)性能
測(cè)量數(shù)據(jù)庫(kù)性能
數(shù)據(jù)庫(kù)優(yōu)化的最佳實(shí)踐
提高性能的最佳實(shí)踐
一切都慢
慢查詢
慢應(yīng)用
慢復(fù)制
小結(jié)
第9章 監(jiān)控存儲(chǔ)引擎
MyISAM
優(yōu)化磁盤存儲(chǔ)
優(yōu)化數(shù)據(jù)庫(kù)表
使用MyISAM實(shí)用工具
按索引順序存儲(chǔ)表
壓縮表
對(duì)數(shù)據(jù)表進(jìn)行碎片整理
監(jiān)控Key Cache
預(yù)加載Key Cache
使用多個(gè)Key Cache
其他需要考慮的參數(shù)
InnoDB
使用SHOW ENGINE命令
使用InnoDB監(jiān)控器
監(jiān)控日志文件
監(jiān)控緩沖池
監(jiān)控表空間
使用INFORMATION_SCHEMA表
xiv | 目錄
其他需要考慮的參數(shù)
小結(jié)
第10章 復(fù)制監(jiān)控
開(kāi)始
安裝服務(wù)器
包容性和排他性復(fù)制
復(fù)制線程
監(jiān)控Master
Master的監(jiān)控命令
Master狀態(tài)變量
監(jiān)控Slave
Slave的監(jiān)控命令
Slave的狀態(tài)變量
使用MySQL管理器監(jiān)控復(fù)制
其他需要考慮的項(xiàng)
網(wǎng)絡(luò)
監(jiān)控和管理Slave滯后
Slave延遲的原因和預(yù)防措施
小結(jié)
第11章 復(fù)制的故障排除
什么導(dǎo)致錯(cuò)誤發(fā)生
Master上的問(wèn)題
Slave上的問(wèn)題
高級(jí)復(fù)制問(wèn)題
排除復(fù)制故障的工具
最佳實(shí)踐
了解你的拓?fù)浣Y(jié)構(gòu)
查詢所有服務(wù)器的狀態(tài)
目錄 | xv
查看日志
檢查配置信息
有序執(zhí)行系統(tǒng)關(guān)閉
在遇到錯(cuò)誤后按序執(zhí)行重啟
手動(dòng)執(zhí)行失敗查詢
常用程序
報(bào)告復(fù)制故障
小結(jié)
第12章 保護(hù)你的投資
什么是信息保障
信息保障的三個(gè)應(yīng)用
信息保障為什么重要
信息完整性、災(zāi)難恢復(fù)及備份的職責(zé)
高可用性與災(zāi)難恢復(fù)
災(zāi)難恢復(fù)
數(shù)據(jù)恢復(fù)的重要性
備份和恢復(fù)
備份實(shí)用程序和操作系統(tǒng)級(jí)的解決方案
InnoDB Hot Backup應(yīng)用
物理文件的復(fù)制
mysqldump工具
XtraBackup
邏輯卷管理器快照
備份方法的比較
備份和MySQL復(fù)制
使用復(fù)制進(jìn)行備份和恢復(fù)
PITR
自動(dòng)備份
xvi | 目錄
小結(jié)
第13章 MySQL企業(yè)版
MySQL企業(yè)版入門
訂閱級(jí)別
安裝概述
MySQL企業(yè)組件
MySQL企業(yè)服務(wù)器
MEM
MySQL產(chǎn)品支持
MySQL企業(yè)版的使用
安裝
修復(fù)監(jiān)控代理問(wèn)題
監(jiān)控
查詢分析器
更多信息
小結(jié)
第三部分 高可用性環(huán)境
第14章 云計(jì)算解決方案
什么是云計(jì)算
云架構(gòu)
云計(jì)算是一種經(jīng)濟(jì)的選擇嗎
云計(jì)算實(shí)例
云計(jì)算的好處
云計(jì)算供應(yīng)商
AWS
技術(shù)簡(jiǎn)要概述
它是如何工作的
目錄 | xvii
Amazon Cloud工具
入門
使用磁盤
接下來(lái)怎么做
云中的MySQL
MySQL復(fù)制和EC2
EC2中使用MySQL的最佳實(shí)踐
開(kāi)源云計(jì)算
小結(jié)
第15章 MySQL集群
什么是MySQL集群
術(shù)語(yǔ)和組件
MySQL集群和MySQL有何不同
典型配置
MySQL集群的特點(diǎn)
局部和全局冗余
日志處理
冗余和分布式數(shù)據(jù)
MySQL集群的架構(gòu)
如何存儲(chǔ)數(shù)據(jù)
分區(qū)
事務(wù)管理
聯(lián)機(jī)操作
配置實(shí)例
入門
啟動(dòng)MySQL集群
集群測(cè)試
關(guān)閉集群
達(dá)到高可用性
系統(tǒng)恢復(fù)
節(jié)點(diǎn)恢復(fù)
復(fù)制
獲得高性能
高性能的注意事項(xiàng)
高性能的最佳實(shí)踐
小結(jié)
附錄A 復(fù)制建議和竅門
Slave停機(jī)了,怎么辦
檢查冗長(zhǎng)的二進(jìn)制日志
利用復(fù)制在表中重建數(shù)據(jù)
基于語(yǔ)句的日志
基于行的日志
使用MySQL Proxy來(lái)完成多Master的復(fù)制
使用默認(rèn)的存儲(chǔ)引擎
MySQL Cluster 多源(Multisource)復(fù)制
多路(Multichannel)復(fù)制故障轉(zhuǎn)移
使用當(dāng)前數(shù)據(jù)庫(kù)來(lái)過(guò)濾
Slave上的列比Master上多
Slave上的列比Master上少
選擇某幾列復(fù)制到Slave
復(fù)制心跳
在環(huán)形復(fù)制中忽略服務(wù)器
功能預(yù)覽:延時(shí)復(fù)制
功能預(yù)覽:腳本式復(fù)制
功能預(yù)覽:Oracle算法
索引
章節(jié)摘錄
版權(quán)頁(yè):插圖:事務(wù)計(jì)算數(shù)據(jù)庫(kù)用戶都比較熟悉事務(wù)計(jì)算:多個(gè)數(shù)據(jù)段可以在單個(gè)事務(wù)中被同時(shí)處理,并和其他數(shù)據(jù)相互關(guān)聯(lián)。這種想法就是定義了一個(gè)job,它包含特定數(shù)據(jù)并在這些數(shù)據(jù)上單步地(即事務(wù))執(zhí)行一些操作。最好的網(wǎng)格計(jì)算解決方案使用這種概念來(lái)保證結(jié)果的正確交付。然而,云計(jì)算稍微有點(diǎn)復(fù)雜。具體來(lái)說(shuō),大型事務(wù)應(yīng)用要運(yùn)行很長(zhǎng)一段時(shí)間,而網(wǎng)格解決方案只需很少的執(zhí)行時(shí)間。幸好在云計(jì)算環(huán)境中構(gòu)建一個(gè)事務(wù)計(jì)算系統(tǒng)是有可能的。為此,我們必須要保證計(jì)算資源長(zhǎng)壽,并提供允許數(shù)據(jù)分段和并行處理的機(jī)制。如果你在想“嘿,這聽(tīng)起來(lái)似乎像服務(wù)器農(nóng)場(chǎng)”,那么你是對(duì)的。大多數(shù)云計(jì)算供應(yīng)商提供虛擬資源來(lái)支持事務(wù)計(jì)算解決方案,包括負(fù)載均衡器、持久化實(shí)例和網(wǎng)絡(luò)資源的永久分配。彈性我們用術(shù)語(yǔ)“彈性”來(lái)描述已經(jīng)成為商品的抽象網(wǎng)絡(luò)或系統(tǒng)資源。例如,Amazon允許你將給定的IP地址應(yīng)用到它的云環(huán)境中的任何服務(wù)器實(shí)例上。這在事務(wù)系統(tǒng)中是很重要的,你需要一個(gè)回應(yīng)特定地址的服務(wù)器池。這是很好的服務(wù)器虛擬化,所以它們可以在云中的任何地方運(yùn)行,而你必須有一個(gè)方法來(lái)保證IP地址保持不變。在這種情況下,IP地址就成為一個(gè)彈性資源,你可以將它分配到任何實(shí)例,而不是擁綁在一個(gè)特定的機(jī)器上。同樣,磁盤資源也是彈性的,你可以在一個(gè)磁盤資源上存儲(chǔ)數(shù)據(jù),云中的任何正在運(yùn)行的實(shí)例都可以訪問(wèn)它。彈性解決了正在運(yùn)行的虛擬機(jī)器的硬件配置問(wèn)題。機(jī)器可以真正做到即插即用,你可以輕易地創(chuàng)建和毀掉它們。例如,可以從一個(gè)運(yùn)行某種操作系統(tǒng)的機(jī)器切換到另一個(gè)開(kāi)發(fā)過(guò)程中的機(jī)器上(可能有一些細(xì)微的改變),并仍然可以訪問(wèn)同樣的數(shù)據(jù)而不需要重新創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)。
媒體關(guān)注與評(píng)論
“MySQL復(fù)制被廣泛部署,但卻從未得到充分的解釋。這本書(shū)將改變這種狀況。” ——Mark Callaghan MySQL貢獻(xiàn)者,同時(shí)是一些世界級(jí)Internet公司的MySQL工程領(lǐng)導(dǎo)
編輯推薦
《高可用MySQL:構(gòu)建健壯的數(shù)據(jù)中心》:服務(wù)器瓶頸和故障是數(shù)據(jù)庫(kù)部署中的常見(jiàn)問(wèn)題,但并不是沒(méi)有解決的辦法。MySQL的一些特性能夠保證,無(wú)論系統(tǒng)運(yùn)行在硬件、虛擬機(jī),還是云環(huán)境,系統(tǒng)都不停機(jī)?!陡呖捎肕y SQL》一書(shū)講解了真實(shí)環(huán)境下如何使用這些復(fù)制、集群和監(jiān)控特性?!陡呖捎肕ySQL:構(gòu)建健壯的數(shù)據(jù)中心》由設(shè)計(jì)這些工具的工程師們所編寫,揭示了My SQL可靠性和高可用性一些難以發(fā)現(xiàn)的方方面面,這些知識(shí)對(duì)使用該數(shù)據(jù)庫(kù)系統(tǒng)的組織來(lái)說(shuō)非常重要。探究二進(jìn)制日志,這是在災(zāi)難恢復(fù)和故障滲斷的時(shí)候需要復(fù)制的文件;掌握改善響應(yīng)時(shí)間和處理大數(shù)據(jù)集的技術(shù);學(xué)習(xí)如何使用復(fù)制橫向擴(kuò)展服務(wù)器,監(jiān)控?cái)?shù)據(jù)庫(kù)活動(dòng)和性能,以及主要的操作系統(tǒng)參數(shù);跟蹤master和slave,處理故障、重啟、崩潰及其他事故,使用作者寫的開(kāi)源庫(kù)實(shí)現(xiàn)關(guān)鍵任務(wù)的自動(dòng)化,學(xué)習(xí)虛擬化環(huán)境下的My SQL技術(shù),如Amazonweb Services.使用My SQL集群實(shí)現(xiàn)高可用性。Charles Bell博士是復(fù)制和備份領(lǐng)域的高級(jí)開(kāi)發(fā)人員,興趣包括數(shù)據(jù)庫(kù)理論,軟件工程及敏捷開(kāi)發(fā)實(shí)踐。Mats Kindahl博士是MySQL復(fù)制和備份小組的首席開(kāi)發(fā)者。Lars Thalmann博士是MySQL復(fù)制和備份小組的開(kāi)發(fā)經(jīng)理和技術(shù)領(lǐng)導(dǎo),設(shè)計(jì)了很多復(fù)制和備份特性。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版