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