跟老男孩學(xué)Linux運(yùn)維:MySQL入門與提高實(shí)踐
定 價(jià):99 元
叢書名:華章IT
- 作者:老男孩
- 出版時(shí)間:2018/12/1
- ISBN:9787111613671
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.132.3
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
全書以理論結(jié)合企業(yè)案例實(shí)戰(zhàn)講解為主,所講內(nèi)容100%皆為生產(chǎn)中的重點(diǎn)知識(shí)。書中先介紹數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí),比如,MYSQL數(shù)據(jù)庫(kù)的產(chǎn)品路線、MYSQL版本等,然后給出安裝配置方法,并針對(duì)企業(yè)級(jí)的安裝配置進(jìn)行說(shuō)明。從第5章開始,著手講解MYSQL的基礎(chǔ)命令操作方法、備份和恢復(fù)實(shí)踐、日志、字符集、常用引擎、復(fù)制等內(nèi)容,接著給出讀寫分離、高可用性方案的企業(yè)實(shí)踐,以及優(yōu)化方案,幫助讀者將所學(xué)知識(shí)點(diǎn)運(yùn)用到實(shí)際工作中,*后會(huì)針對(duì)企業(yè)面試常見問(wèn)題給出解答思路。
為什么要寫這本書
“跟老男孩學(xué)Linux運(yùn)維”系列書籍出版以來(lái),得到了廣大網(wǎng)友的一致好評(píng)和贊揚(yáng),但是也有很多讀者和網(wǎng)友從各種渠道對(duì)老男孩提出了新的期待,其中之一就是系列書籍中缺少企業(yè)中最為關(guān)鍵的MySQL實(shí)戰(zhàn)方向的書籍。
毋庸置疑,所有互聯(lián)網(wǎng)網(wǎng)站最大的瓶頸就是企業(yè)的后端數(shù)據(jù)庫(kù),而MySQL更是重中之重,誰(shuí)掌握了數(shù)據(jù)庫(kù)技術(shù),誰(shuí)就能輕松拿到高薪,并且數(shù)據(jù)庫(kù)管理崗位比其他崗位更受企業(yè)重視,因?yàn)閿?shù)據(jù)安全是企業(yè)最重要的生命線,沒(méi)有之一。由于老男孩平時(shí)教學(xué)十分繁忙,還要承擔(dān)公司的管理工作,使得本書的寫作一直斷斷續(xù)續(xù)。但是,在每次教學(xué)講到MySQL技術(shù)時(shí),老男孩就會(huì)想起讀者和網(wǎng)友們的殷殷期待,于是又投入到寫作中,本書就是在這種情況下完成的,在此特別感謝所有的讀者和網(wǎng)友,沒(méi)有你們的持續(xù)期待和支持,這本書就不會(huì)面世。
在長(zhǎng)期的運(yùn)維工作以及深度教學(xué)中,老男孩發(fā)現(xiàn)很多Linux運(yùn)維人員以及大部分開發(fā)人員,都對(duì)數(shù)據(jù)庫(kù)的技術(shù)一知半解,只停留在基本的安裝和SQL簡(jiǎn)單使用上,更要命的是大家都覺得數(shù)據(jù)庫(kù)很重要,但是在工作中又都很懼怕數(shù)據(jù)庫(kù)的管理和維護(hù)。數(shù)據(jù)庫(kù)的重要性是毋庸置疑的,但是數(shù)據(jù)庫(kù)技術(shù)真的沒(méi)那么難,更沒(méi)那么可怕,只要稍加努力,普通人也可以掌握勝任數(shù)據(jù)庫(kù)管理員崗位的絕大部分技能本領(lǐng)。
鑒于以上,作為一個(gè)曾經(jīng)維護(hù)過(guò)數(shù)十臺(tái)規(guī)模的混合數(shù)據(jù)庫(kù)集群的過(guò)來(lái)人,老男孩決定寫一本能讓零基礎(chǔ)新手以及Linux運(yùn)維、開發(fā)入門人員都有信心掌握好數(shù)據(jù)庫(kù)管理與維護(hù)的實(shí)戰(zhàn)書籍,相信本書一定會(huì)讓眾多讀者受益,提升他們的數(shù)據(jù)庫(kù)管理和維護(hù)能力,實(shí)現(xiàn)加薪升職。本書旨在面向非專業(yè)專職數(shù)據(jù)庫(kù)管理員,讓所有的非專職技術(shù)人員能夠具備獨(dú)立(兼)管理中小企業(yè)數(shù)據(jù)庫(kù)的實(shí)戰(zhàn)能力。
本書是“跟老男孩學(xué)Linux運(yùn)維”系列的第五本書(前4本已由機(jī)械工業(yè)出版社出版),更多“跟老男孩學(xué)Linux運(yùn)維”實(shí)戰(zhàn)系列圖書在持續(xù)寫作中,敬請(qǐng)期待。
讀者對(duì)象
Linux入門與開發(fā)人員
Linux運(yùn)維工程師
初中級(jí)數(shù)據(jù)庫(kù)管理人員
網(wǎng)絡(luò)管理員和項(xiàng)目實(shí)施工程師
Linux相關(guān)售前售后技術(shù)工程師
開設(shè)Linux相關(guān)課程的大中專院校
對(duì)Linux、MySQL數(shù)據(jù)庫(kù)感興趣的人群
如何閱讀本書
本書依然延續(xù)老男孩寫書的特點(diǎn),是一本偏重實(shí)戰(zhàn)的MySQL圖書,并非大而全,但處處可以體現(xiàn)實(shí)戰(zhàn)二字,豐富的知識(shí)講解取自企業(yè)中的實(shí)戰(zhàn)案例解決方案,并結(jié)合老男孩十幾年的數(shù)據(jù)庫(kù)運(yùn)維工作和教學(xué)工作進(jìn)行了梳理。全書從脈絡(luò)上共分為20章:
第1~4章為數(shù)據(jù)庫(kù)知識(shí)簡(jiǎn)介,以及MySQL數(shù)據(jù)庫(kù)單/多實(shí)例安裝介紹和實(shí)踐,內(nèi)容簡(jiǎn)單易懂,讓讀者能夠快速上手掌握MySQL。
第5~9章講解的是企業(yè)中MySQL數(shù)據(jù)庫(kù)的常用維護(hù)和管理知識(shí)及實(shí)踐、常用管理SQL語(yǔ)句知識(shí)及實(shí)踐、數(shù)據(jù)庫(kù)備份和管理知識(shí)與實(shí)踐,以及企業(yè)級(jí)數(shù)據(jù)庫(kù)邏輯備份與物理備份實(shí)戰(zhàn)案例,讓讀者切實(shí)掌握中小企業(yè)的數(shù)據(jù)庫(kù)維護(hù)本領(lǐng)。
第10~13章講解的是企業(yè)中MySQL數(shù)據(jù)庫(kù)常用的日志、字符集、引擎等知識(shí),并深入講解核心引擎InnoDB,為學(xué)好數(shù)據(jù)庫(kù)知識(shí)打下堅(jiān)實(shí)的基礎(chǔ)。
第14~17章講解的是企業(yè)中MySQL數(shù)據(jù)庫(kù)的最核心技術(shù)—主從復(fù)制知識(shí),同時(shí)講解主從復(fù)制的各種架構(gòu)在企業(yè)中的實(shí)戰(zhàn)應(yīng)用、半同步與GTID下同步的應(yīng)用。
第18~20章講解的是企業(yè)中MySQL數(shù)據(jù)庫(kù)集群的高可用方案以及MHA的實(shí)戰(zhàn)案例、數(shù)據(jù)庫(kù)讀寫分離中間件的實(shí)踐、阿里云數(shù)據(jù)庫(kù)RDS的基本應(yīng)用實(shí)踐。
勘誤和支持
由于老男孩的教學(xué)任務(wù)很重,課程較多,這本書基本上都是利用早晨和夜晚的時(shí)間完成寫作的,限于本人的水平和能力,加之編寫的時(shí)間倉(cāng)促,書中難免有疏漏和不當(dāng)之處,懇請(qǐng)讀者批評(píng)指正。你可以將書中的錯(cuò)誤發(fā)布在專門為本書準(zhǔn)備的博客“http://www.itblogs.cn”評(píng)論處,同時(shí)不管你遇到何種問(wèn)題,都可以加入為本書準(zhǔn)備的QQ交流群465216827(加群說(shuō)明:MySQL),我將盡力為讀者提供最滿意的解答。書中所需的工具等都將發(fā)布在上述博客中,我也會(huì)將工具相應(yīng)功能的更新及時(shí)發(fā)布出來(lái)。如果你有更多的寶貴意見,歡迎發(fā)送郵件至我的郵箱oldboy@oldboyedu.com或者加老男孩助理的微信17600131504,加入本書的交流群,期待能夠聽到讀者的真摯反饋。
致謝
感謝前阿里云資深專家肖海波為本書貢獻(xiàn)了第20章RDS數(shù)據(jù)庫(kù)內(nèi)容。
感謝老男孩教育高級(jí)講師曾老師為本書貢獻(xiàn)了MHA/Atlas等章節(jié)內(nèi)容。
感謝老男孩教育高級(jí)講師郭老師對(duì)本書部分內(nèi)容的校對(duì)和提出的修改建議。
感謝老男孩教育的每一位在校學(xué)員—你們自覺努力地學(xué)習(xí),使得我有較多的時(shí)間持續(xù)寫作。感謝你們對(duì)老男孩教育的支持。
感謝老男孩教育的每一位老師,正是你們辛勤努力的工作,讓我得以有時(shí)間完成此書。
感謝森華易騰的陸錦云女士及其同事,感謝你們提供的IDC機(jī)房帶寬資源并長(zhǎng)期支持,使得本書得以順利完成!
感謝機(jī)械工業(yè)出版社華章公司的編輯楊繡國(guó)和溫莉芳女士,感謝你們的不懈支持、包容和鼓勵(lì),正是你們的鼓勵(lì)和幫助引導(dǎo)我順利完成全部書稿。
感謝沒(méi)有提及名字的所有學(xué)生、網(wǎng)友以及關(guān)心關(guān)注老男孩的每一個(gè)人。
最后要感謝我的父母、家人,正是你們的支持和體諒,讓我有無(wú)限信心和力量去寫作,并最終完成此書!
謹(jǐn)以此書,獻(xiàn)給支持老男孩教育的每一位朋友、學(xué)員以及眾多熱愛Linux運(yùn)維技術(shù)的人。
老男孩
中國(guó),北京,2018年11月
前言
第1章 數(shù)據(jù)庫(kù)介紹與分類 / 1
1.1 數(shù)據(jù)庫(kù)介紹 / 1
1.2 數(shù)據(jù)庫(kù)的種類 / 1
1.2.1 關(guān)系型數(shù)據(jù)庫(kù)介紹 / 2
1.2.2 非關(guān)系型數(shù)據(jù)庫(kù)介紹 / 3
1.3 常用關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品介紹 / 6
1.3.1 Oracle數(shù)據(jù)庫(kù) / 6
1.3.2 MySQL數(shù)據(jù)庫(kù) / 6
1.3.3 MariaDB數(shù)據(jù)庫(kù) / 7
1.3.4 SQL Server數(shù)據(jù)庫(kù) / 7
1.3.5 Access數(shù)據(jù)庫(kù) / 7
1.3.6 PostgreSQL數(shù)據(jù)庫(kù) / 8
1.3.7 其他不常用的關(guān)系型數(shù)據(jù)庫(kù) / 8
1.4 常用非關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品介紹 / 9
1.4.1 Memcached(key-value) / 9
1.4.2 redis(key-value) / 10
1.4.3 MongoDB(document-oriented) / 10
1.4.4 Cassandra(column-oriented) / 11
1.4.5 其他非關(guān)系型數(shù)據(jù)庫(kù) / 12
1.5 數(shù)據(jù)庫(kù)相關(guān)知識(shí) / 12
1.5.1 數(shù)據(jù)庫(kù)發(fā)展歷史大事記 / 12
1.5.2 數(shù)據(jù)庫(kù)軟件企業(yè)應(yīng)用排名及發(fā)展趨勢(shì)參考 / 12
1.6 本章重點(diǎn) / 14
1.7 章節(jié)試題 / 14
第2章 MySQL數(shù)據(jù)庫(kù)入門知識(shí)介紹 / 15
2.1 MySQL介紹 / 15
2.1.1 MySQL簡(jiǎn)介 / 15
2.1.2 MariaDB數(shù)據(jù)庫(kù)的誕生背景介紹 / 15
2.1.3 為什么選擇MySQL數(shù)據(jù)庫(kù) / 16
2.2 MySQL數(shù)據(jù)庫(kù)分類與版本升級(jí) / 16
2.2.1 MySQL數(shù)據(jù)庫(kù)企業(yè)版與社區(qū)版的區(qū)別 / 16
2.2.2 MySQL數(shù)據(jù)庫(kù)的四種發(fā)布版本介紹 / 17
2.3 MySQL數(shù)據(jù)庫(kù)軟件的命名介紹 / 18
2.4 MySQL產(chǎn)品路線 / 19
2.4.1 MySQL產(chǎn)品路線變更歷史背景 / 19
2.4.2 MySQL-5.0.xx到MySQL-5.1.xx的產(chǎn)品線 / 19
2.4.3 MySQL-5.4.xx到MySQL-5.7.xx產(chǎn)品線 / 19
2.4.4 MySQL-Cluster-6.0.xx到MySQL-Cluster-7.5.xx產(chǎn)品線 / 20
2.5 生產(chǎn)場(chǎng)景中如何選擇MySQL版本 / 20
2.5.1 MySQL數(shù)據(jù)庫(kù)發(fā)布特性 / 20
2.5.2 企業(yè)生產(chǎn)場(chǎng)景選擇MySQL數(shù)據(jù)庫(kù)的建議 / 20
2.6 章節(jié)試題 / 21
第3章 MySQL數(shù)據(jù)庫(kù)安裝方法及安裝實(shí)踐 / 22
3.1 MySQL數(shù)據(jù)庫(kù)的安裝方法及選擇 / 22
3.1.1 yum/rpm方式安裝MySQL / 22
3.1.2 采用常規(guī)方式編譯安裝MySQL / 24
3.1.3 采用cmake方式編譯安裝MySQL / 25
3.1.4 采用二進(jìn)制方式免編譯安裝MySQL / 25
3.1.5 如何正確選擇MySQL的安裝方式 / 25
3.2 安裝并配置MySQL數(shù)據(jù)庫(kù) / 26
3.2.1 安裝MySQL數(shù)據(jù)庫(kù) / 26
3.2.2 創(chuàng)建MySQL數(shù)據(jù)庫(kù)配置文件并對(duì)數(shù)據(jù)庫(kù)目錄授權(quán) / 30
3.2.3 初始化MySQL數(shù)據(jù)庫(kù)文件 / 30
3.2.4 配置并啟動(dòng)MySQL數(shù)據(jù)庫(kù) / 34
3.2.5 將MySQL相關(guān)命令加入全局路徑 / 36
3.2.6 登錄MySQL測(cè)試 / 37
3.2.7 基本的MySQL安全配置 / 38
3.3 MySQL安裝FAQ / 40
3.4 MySQL 5.6編譯常見參數(shù)選項(xiàng)說(shuō)明 / 41
3.5 章節(jié)試題 / 42
第4章 MySQL多實(shí)例數(shù)據(jù)庫(kù)企業(yè)級(jí)應(yīng)用實(shí)踐 / 43
4.1 MySQL多實(shí)例介紹 / 43
4.1.1 什么是MySQL多實(shí)例 / 43
4.1.2 MySQL多實(shí)例的作用與問(wèn)題 / 44
4.2 MySQL多實(shí)例的生產(chǎn)應(yīng)用場(chǎng)景 / 45
4.2.1 資金緊張型公司的選擇 / 45
4.2.2 并發(fā)訪問(wèn)不是特別大的業(yè)務(wù) / 45
4.2.3 門戶網(wǎng)站應(yīng)用MySQL多實(shí)例場(chǎng)景 / 45
4.3 MySQL多實(shí)例常見的配置方案 / 46
4.3.1 單一配置文件、單一啟動(dòng)程序多實(shí)例部署方案 / 46
4.3.2 多配置文件、多啟動(dòng)程序部署方案 / 47
4.4 安裝并配置多實(shí)例MySQL數(shù)據(jù)庫(kù) / 47
4.4.1 安裝MySQL多實(shí)例 / 47
4.4.2 創(chuàng)建MySQL多實(shí)例的數(shù)據(jù)文件目錄 / 49
4.4.3 創(chuàng)建MySQL多實(shí)例的配置文件 / 49
4.4.4 創(chuàng)建MySQL多實(shí)例的啟動(dòng)文件 / 51
4.4.5 配置MySQL多實(shí)例的文件權(quán)限 / 54
4.4.6 MySQL相關(guān)命令加入全局路徑的配置 / 54
4.4.7 初始化MySQL多實(shí)例的數(shù)據(jù)庫(kù)文件 / 55
4.4.8 啟動(dòng)MySQL多實(shí)例數(shù)據(jù)庫(kù) / 57
4.4.9 MySQL多實(shí)例數(shù)據(jù)庫(kù)啟動(dòng)故障排錯(cuò)說(shuō)明 / 58
4.5 配置及管理MySQL多實(shí)例數(shù)據(jù)庫(kù) / 59
4.6 參考資料 / 63
4.7 章節(jié)試題 / 63
第5章 MySQL常用管理基礎(chǔ)知識(shí)實(shí)踐 / 64
5.1 啟動(dòng)與關(guān)閉MySQL / 64
5.1.1 單實(shí)例MySQL啟動(dòng)與關(guān)閉知識(shí) / 64
5.1.2 多實(shí)例MySQL啟動(dòng)與關(guān)閉方法示例 / 68
5.2 MySQL連接原理方法及提示符設(shè)置 / 69
5.2.1 客戶端連接MySQL服務(wù)器原理結(jié)構(gòu) / 69
5.2.2 默認(rèn)單實(shí)例MySQL登錄方法 / 70
5.2.3 默認(rèn)多實(shí)例MySQL登錄方法 / 71
5.2.4 異地遠(yuǎn)程登錄MySQL方法 / 71
5.2.5 MySQL連接提示符說(shuō)明 / 72
5.2.6 退出MySQL數(shù)據(jù)庫(kù) / 73
5.3 查看MySQL命令幫助 / 73
5.4 設(shè)置及修改mysql root用戶密碼 / 78
5.4.1 MySQL數(shù)據(jù)庫(kù)用戶安全策略介紹 / 78
5.4.2 為管理員root用戶設(shè)置及修改密碼 / 79
5.5 找回MySQL root用戶密碼 / 80
5.5.1 找回MySQL單實(shí)例root用戶密碼的方法 / 80
5.5.2 找回MySQL多實(shí)例root用戶的密碼方法 / 82
5.6 章節(jié)試題 / 83
第6章 MySQL常用管理SQL語(yǔ)句應(yīng)用實(shí)踐 / 84
6.1 SQL介紹 / 84
6.1.1 什么是SQL / 84
6.1.2 SQL的分類 / 84
6.2 SQL解析原理流程 / 86
6.2.1 MySQL體系結(jié)構(gòu)簡(jiǎn)介 / 86
6.2.2 SQL解析流程介紹 / 87
6.3 SQL語(yǔ)句實(shí)踐 / 88
6.3.1 DDL語(yǔ)句之管理數(shù)據(jù)庫(kù) / 88
6.3.2 DDL&&DCL語(yǔ)句之管理用戶 / 93
6.3.3 DDL語(yǔ)句之管理表 / 10