關(guān)于我們
書單推薦
新書推薦
|
MySQL 8.x從入門到精通(視頻教學(xué)版) MySQL是比較受歡迎的開源關(guān)系型數(shù)據(jù)庫之一。本書通過大量實(shí)用的操作案例,詳細(xì)講解MySQL 8.x數(shù)據(jù)庫操作方法和技巧。本書配套資源提供了所有例子的源代碼、PPT課件、培訓(xùn)班形式的同步教學(xué)視頻、命令速查手冊(cè)、QQ群與微信群答疑,以方便讀者參考和自學(xué)。 本書共分25章。主要內(nèi)容包括MySQL 8.x的安裝與配置、數(shù)據(jù)庫和數(shù)據(jù)表基本操作、數(shù)據(jù)類型和運(yùn)算符、MySQL函數(shù)、數(shù)據(jù)的增刪改查、索引的設(shè)計(jì)和使用、存儲(chǔ)過程和函數(shù)、視圖、觸發(fā)器、存儲(chǔ)引擎的選擇、分區(qū)和事務(wù)控制、性能優(yōu)化、鎖定機(jī)制、服務(wù)器性能優(yōu)化、性能監(jiān)控、數(shù)據(jù)備份與還原、日志、權(quán)限與安全管理、高可用架構(gòu)、復(fù)制、MySQL Utilities、MySQL Proxy。最后通過兩個(gè)案例系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì),進(jìn)一步講解MySQL在系統(tǒng)開發(fā)中的應(yīng)用。本書注重實(shí)戰(zhàn)操作,幫助讀者循序漸進(jìn)地掌握MySQL的各項(xiàng)管理與開發(fā)技術(shù)。 本書適合MySQL數(shù)據(jù)庫初學(xué)者、MySQL數(shù)據(jù)庫開發(fā)人員和MySQL數(shù)據(jù)庫管理員,同時(shí)也能作為高等院校相關(guān)專業(yè)師生的教學(xué)用書。 書很厚,536頁,內(nèi)容非常全面系統(tǒng)。 基本上搞開發(fā)和數(shù)據(jù)管理的買這本書就夠用了,可作為手頭工具書和參考手冊(cè)。 上一版《MySQL 8從入門到精通(視頻教學(xué)版)》熱銷10000多冊(cè)。 升級(jí)版累計(jì)銷售4.7萬冊(cè)。 配套示例源碼、PPT課件、同步教學(xué)視頻、命令速查手冊(cè)、QQ群與微信群答疑。 本書是面向MySQL數(shù)據(jù)庫管理系統(tǒng)初學(xué)者的一本高質(zhì)量的入門書。目前國內(nèi)對(duì)掌握MySQL的人才需求旺盛,各大知名企業(yè)高薪招聘技術(shù)能力強(qiáng)的MySQL開發(fā)人員和管理人員。本書根據(jù)這樣的需求,為初學(xué)者量身定做,內(nèi)容注重實(shí)戰(zhàn),通過實(shí)例的操作與分析,引領(lǐng)讀者快速掌握MySQL開發(fā)和管理技術(shù)。 本書內(nèi)容 第1章主要介紹MySQL的安裝與配置,包括MySQL基本概念、Windows平臺(tái)下的安裝和配置、如何啟動(dòng)MySQL服務(wù)、MySQL常用圖形管理工具、Linux平臺(tái)下的安裝和配置等。 第2章介紹數(shù)據(jù)庫和數(shù)據(jù)表的基本操作,主要包括創(chuàng)建數(shù)據(jù)庫、刪除數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)表、查看數(shù)據(jù)表結(jié)構(gòu)、修改數(shù)據(jù)表和刪除數(shù)據(jù)表。 第3章介紹數(shù)據(jù)類型和運(yùn)算符,主要包括MySQL數(shù)據(jù)類型介紹、如何選擇數(shù)據(jù)類型和常見運(yùn)算符介紹。 第4章介紹MySQL函數(shù),包括數(shù)學(xué)函數(shù)、字符串函數(shù)、日期和時(shí)間函數(shù)、條件判斷函數(shù)、系統(tǒng)信息函數(shù)、加密函數(shù)、其他函數(shù)和窗口函數(shù)。 第5章介紹如何查詢數(shù)據(jù)表中的數(shù)據(jù),主要包括基本查詢語句、單表查詢、使用聚合函數(shù)查詢、連接查詢、子查詢、合并查詢結(jié)果、為表和字段取別名以及使用正則表達(dá)式查詢。 第6章介紹如何插入、更新與刪除數(shù)據(jù),包括插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)。 第7章介紹MySQL中的索引設(shè)計(jì)和使用,包括索引簡介、如何創(chuàng)建各種類型的索引和如何刪除索引。 第8章介紹MySQL中的存儲(chǔ)過程和函數(shù),包括存儲(chǔ)過程和函數(shù)的創(chuàng)建、調(diào)用、查看、修改和刪除。 第9章介紹MySQL視圖,主要介紹視圖的概念、創(chuàng)建視圖、查看視圖、修改視圖、更新視圖和刪除視圖。 第10章介紹MySQL觸發(fā)器,包括創(chuàng)建觸發(fā)器、查看觸發(fā)器、觸發(fā)器的使用和刪除觸發(fā)器。 第11章介紹存儲(chǔ)引擎的選擇,包括MySQL的架構(gòu)、MySQL存儲(chǔ)引擎簡介、更改數(shù)據(jù)表的存儲(chǔ)引擎、各種存儲(chǔ)引擎的特性和選擇合適的存儲(chǔ)引擎。 第12章介紹MySQL分區(qū)和事務(wù)控制,包括合并表、分區(qū)表、事務(wù)控制、MySQL分布式事務(wù)。 第13章介紹如何對(duì)MySQL進(jìn)行性能優(yōu)化,包括優(yōu)化簡介、優(yōu)化查詢、優(yōu)化數(shù)據(jù)庫結(jié)構(gòu)、臨時(shí)表性能優(yōu)化、創(chuàng)建全局通用表空間和隱藏和顯示索引。 第14章介紹MySQL的鎖定機(jī)制,包括認(rèn)識(shí)MySQL的鎖定機(jī)制、MyISAM的鎖定機(jī)制、InnoDB的鎖定機(jī)制、跳過鎖等待。 第15章介紹MySQL服務(wù)器性能優(yōu)化,包括優(yōu)化MySQL服務(wù)器簡介、影響MySQL性能的重要參數(shù)、MySQL日志設(shè)置優(yōu)化、MySQL I/O設(shè)置優(yōu)化、MySQL并發(fā)設(shè)置優(yōu)化、服務(wù)器語句超時(shí)處理、線程和臨時(shí)表的優(yōu)化、增加資源組。 第16章介紹MySQL性能監(jiān)控,包括基本監(jiān)控系統(tǒng)方法、開源監(jiān)控利器Nagios實(shí)戰(zhàn)、MySQL監(jiān)控利器Cacti實(shí)戰(zhàn)。 第17章介紹MySQL數(shù)據(jù)庫的備份和恢復(fù),主要包括數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)、數(shù)據(jù)庫的遷移和數(shù)據(jù)表的導(dǎo)出和導(dǎo)入。 第18章介紹MySQL日志,主要包括日志簡介、二進(jìn)制日志、錯(cuò)誤日志、通用查詢?nèi)罩竞吐樵內(nèi)罩尽?/p> 第19章介紹MySQL權(quán)限與安全管理,主要包括MySQL中的各種權(quán)限表、賬戶管理、權(quán)限管理、MySQL的訪問控制機(jī)制、提升安全性和管理角色。 第20章介紹企業(yè)中MySQL的高可用架構(gòu),主要包括MySQL高可用的簡單介紹、MySQL主從復(fù)制、MySQL DRBD HA、LVS Keepalived MySQL單點(diǎn)寫入主主同步方案、MMM高可用架構(gòu)。 第21章介紹MySQL復(fù)制數(shù)據(jù)的操作方法和技巧。 第22章介紹MySQL Utilities管理MySQL數(shù)據(jù)庫的方法和技巧。 第23章介紹MySQL Proxy實(shí)現(xiàn)數(shù)據(jù)庫的讀寫分離的方法和技巧。 第24章介紹新聞發(fā)布系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)過程。 第25章介紹論壇管理系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)過程。 本書特色 內(nèi)容全面:涵蓋了所有MySQL的基礎(chǔ)知識(shí)點(diǎn),可讓讀者由淺入深地掌握MySQL數(shù)據(jù)庫開發(fā)技術(shù)。 圖文并茂:在介紹案例的過程中,每一個(gè)操作均有對(duì)應(yīng)步驟和過程說明。這種圖文結(jié)合的方式使讀者在學(xué)習(xí)過程中能夠直觀、清晰地看到操作的過程以及效果,便于讀者更快地理解和掌握。 易學(xué)易用:顛覆傳統(tǒng)看書的觀念,變成一本能操作的圖書。 案例豐富:把知識(shí)點(diǎn)融匯于系統(tǒng)的案例實(shí)訓(xùn)當(dāng)中,并且結(jié)合綜合案例進(jìn)行講解和拓展。進(jìn)而達(dá)到知其然,并知其所以然的效果。 疑難提示:本書對(duì)讀者在學(xué)習(xí)過程中可能會(huì)遇到的疑難問題以提示注意等形式進(jìn)行了說明,以免讀者在學(xué)習(xí)的過程中走彎路。 答疑支持:本書提供答疑QQ群,可直接索要源代碼、教學(xué)幻燈片和精品教學(xué)視頻等資源。 課件、源碼、教學(xué)視頻等配套資源下載 本書配套的課件、源碼、教學(xué)視頻、命令速查手冊(cè)、QQ群與微信群答疑信息,需要使用微信掃描下面二維碼獲取,可按掃描后的頁面提示,把下載鏈接轉(zhuǎn)發(fā)到自己的郵箱中下載。如果發(fā)現(xiàn)問題或疑問,請(qǐng)電子郵件聯(lián)系booksaga@163.com,郵件主題為MySQL 8.x從入門到精通。 讀者對(duì)象 本書適合以下讀者學(xué)習(xí)使用:
鳴謝與技術(shù)支持 本書由李小威主編,還有王英英、張工廠、劉增杰、劉玉萍、胡同夫、劉玉紅等人參加了編寫工作。雖然本書傾注了眾多編者的努力,但由于我們水平有限、時(shí)間倉促,書中難免存在不足之處,請(qǐng)讀者諒解。如果遇到問題或有意見和建議,敬請(qǐng)與我們聯(lián)系,我們將全力解決。 編 者 2022年6月 李小威,軟件開發(fā)經(jīng)理,在軟件開發(fā)領(lǐng)域有多年的開發(fā)經(jīng)驗(yàn),尤其擅長Java、PHP、關(guān)系數(shù)據(jù)庫、Web前端等技術(shù),具有很強(qiáng)的實(shí)戰(zhàn)經(jīng)驗(yàn)。著有多本暢銷書《Vue.js 3.x高效前端開發(fā)(視頻教學(xué)版)》《Vue.js 3.0從入門到精通(視頻教學(xué)版)》《SQL Server 2017從零開始學(xué)(視頻教學(xué)版)》《SQL基礎(chǔ)教程(視頻教學(xué)版)》《PostgreSQL 11從入門到精通(視頻教學(xué)版)》《MySQL 5.7從零開始學(xué)(視頻教學(xué)版)》等。 第1章MySQL的安裝與配置 1 1.1什么是MySQL 1 1.1.1客戶端/服務(wù)器軟件 1 1.1.2MySQL版本 2 1.2Windows平臺(tái)下安裝與配置MySQL8.0 2 1.2.1安裝MySQL8.0 2 1.2.2配置MySQL8.0 5 1.3啟動(dòng)服務(wù)并登錄MySQL數(shù)據(jù)庫 9 1.3.1啟動(dòng)MySQL服務(wù) 9 1.3.2登錄MySQL數(shù)據(jù)庫 10 1.3.3配置Path變量 11 1.4MySQL常用圖形管理工具 13 1.5Linux平臺(tái)下安裝與配置MySQL8.0 14 1.5.1Linux操作系統(tǒng)下的MySQL版本介紹 14 1.5.2安裝和配置MySQL的RPM包 15 1.5.3安裝和配置MySQL的源碼包 18 第2章數(shù)據(jù)庫和數(shù)據(jù)表的基本操作 19 2.1創(chuàng)建數(shù)據(jù)庫 19 2.2刪除數(shù)據(jù)庫 20 2.3創(chuàng)建數(shù)據(jù)表 21 2.3.1創(chuàng)建表的語法形式 21 2.3.2使用主鍵約束 22 2.3.3使用外鍵約束 23 2.3.4使用非空約束 24 2.3.5使用唯一性約束 25 2.3.6使用默認(rèn)約束 25 2.3.7設(shè)置表的屬性值自動(dòng)增加 26 2.4查看數(shù)據(jù)表結(jié)構(gòu) 27 2.4.1查看表基本結(jié)構(gòu)語句DESCRIBE 27 2.4.2查看表詳細(xì)結(jié)構(gòu)語句SHOWCREATETABLE 28 2.5修改數(shù)據(jù)表 28 2.5.1修改表名 29 2.5.2修改字段的數(shù)據(jù)類型 29 2.5.3修改字段名 30 2.5.4添加字段 31 2.5.5刪除字段 33 2.5.6修改字段的排列位置 34 2.5.7刪除表的外鍵約束 35 2.6刪除數(shù)據(jù)表 36 2.6.1刪除沒有被關(guān)聯(lián)的表 36 2.6.2刪除被其他表關(guān)聯(lián)的主表 37 第3章數(shù)據(jù)類型和運(yùn)算符 39 3.1MySQL數(shù)據(jù)類型介紹 39 3.1.1整數(shù)類型 39 3.1.2小數(shù)類型 41 3.1.3日期與時(shí)間類型 42 3.1.4文本字符串類型 52 3.1.5二進(jìn)制字符串類型 56 3.2如何選擇數(shù)據(jù)類型 59 3.3常見運(yùn)算符介紹 60 3.3.1運(yùn)算符概述 60 3.3.2算術(shù)運(yùn)算符 61 3.3.3比較運(yùn)算符 62 3.3.4邏輯運(yùn)算符 69 3.3.5位運(yùn)算符 71 3.3.6運(yùn)算符的優(yōu)先級(jí) 74 第4章MySQL函數(shù) 75 4.1MySQL函數(shù)簡介 75 4.2數(shù)學(xué)函數(shù) 75 4.2.1絕對(duì)值函數(shù)ABS(x)和返回圓周率的函數(shù)PI() 75 4.2.2平方根函數(shù)SQRT(x)和求余函數(shù)MOD(x,y) 76 4.2.3獲取整數(shù)的函數(shù)CEIL(x)、CEILING(x)和FLOOR(x) 76 4.2.4獲取隨機(jī)數(shù)的函數(shù)RAND()和RAND(x) 77 4.2.5函數(shù)ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 78 4.2.6符號(hào)函數(shù)SIGN(x) 79 4.2.7冪運(yùn)算函數(shù)POW(x,y)、POWER(x,y)和EXP(x) 79 4.2.8對(duì)數(shù)運(yùn)算函數(shù)LOG(x)和LOG10(x) 79 4.2.9角度與弧度相互轉(zhuǎn)換的函數(shù)RADIANS(x)和DEGREES(x) 80 4.2.10正弦函數(shù)SIN(x)和反正弦函數(shù)ASIN(x) 80 4.2.11余弦函數(shù)COS(x)和反余弦函數(shù)ACOS(x) 81 4.2.12正切函數(shù)、反正切函數(shù)和余切函數(shù) 81 4.3字符串函數(shù) 82 4.3.1計(jì)算字符串字符數(shù)的函數(shù)和字符串長度的函數(shù) 82 4.3.2合并字符串函數(shù)CONCAT(s1,s2,…)、CONCAT_WS(x,s1,s2,…) 83 4.3.3替換字符串的函數(shù)INSERT(s1,x,len,s2) 83 4.3.4字母大小寫轉(zhuǎn)換函數(shù) 84 4.3.5獲取指定長度的字符串的函數(shù)LEFT(s,n)和RIGHT(s,n) 85 4.3.6填充字符串的函數(shù)LPAD(s1,len,s2)和RPAD(s1,len,s2) 85 4.3.7刪除空格的函數(shù)LTRIM(s)、RTRIM(s)和TRIM(s) 86 4.3.8刪除指定字符串的函數(shù)TRIM(s1FROMs) 86 4.3.9重復(fù)生成字符串的函數(shù)REPEAT(s,n) 87 4.3.10空格函數(shù)SPACE(n)和替換函數(shù)REPLACE(s,s1,s2) 87 4.3.11比較字符串大小的函數(shù)STRCMP(s1,s2) 88 4.3.12獲取子串的函數(shù)SUBSTRING(s,n,len)和MID(s,n,len) 88 4.3.13匹配子串開始位置的函數(shù) 89 4.3.14字符串逆序的函數(shù)REVERSE(s) 89 4.3.15返回指定位置的字符串的函數(shù) 89 4.3.16返回指定字符串位置的函數(shù)FIELD(s,s1,s2,…,sn) 90 4.3.17返回子串位置的函數(shù)FIND_IN_SET(s1,s2) 90 4.3.18選取字符串的函數(shù)MAKE_SET(x,s1,s2,…,sn) 90 4.4日期和時(shí)間函數(shù) 91 4.4.1獲取當(dāng)前日期的函數(shù)和獲取當(dāng)前時(shí)間的函數(shù) 91 4.4.2獲取當(dāng)前日期和時(shí)間的函數(shù) 92 4.4.3UNIX時(shí)間戳函數(shù) 92 4.4.4返回UTC日期的函數(shù)和返回UTC時(shí)間的函數(shù) 92 4.4.5獲取月份的函數(shù)MONTH(date)和MONTHNAME(date) 93 4.4.6獲取星期的函數(shù)DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d) 93 4.4.7獲取星期數(shù)的函數(shù)WEEK(d)和WEEKOFYEAR(d) 94 4.4.8獲取天數(shù)的函數(shù)DAYOFYEAR(d)和DAYOFMONTH(d) 95 4.4.9獲取年份、季度、小時(shí)、分鐘和秒鐘的函數(shù) 96 4.4.10獲取日期的指定值的函數(shù)EXTRACT(typeFROMdate) 96 4.4.11時(shí)間和秒鐘轉(zhuǎn)換的函數(shù) 97 4.4.12計(jì)算日期和時(shí)間的函數(shù) 97 4.4.13將日期和時(shí)間格式化的函數(shù) 100 4.5條件判斷函數(shù) 102 4.5.1IF(expr,v1,v2)函數(shù) 102 4.5.2IFNULL(v1,v2)函數(shù) 103 4.5.3CASE函數(shù) 103 4.6系統(tǒng)信息函數(shù) 104 4.6.1獲取MySQL版本號(hào)、連接數(shù)和數(shù)據(jù)庫名的函數(shù) 104 4.6.2獲取用戶名的函數(shù) 106 4.6.3獲取字符串的字符集和排序方式的函數(shù) 106 4.6.4獲取最后一個(gè)自動(dòng)生成的ID值的函數(shù) 107 4.7加密函數(shù) 108 4.7.1加密函數(shù)MD5(str) 108 4.7.2加密函數(shù)SHA(str) 108 4.7.3加密函數(shù)SHA2(str,hash_length) 109 4.8其他函數(shù) 109 4.8.1格式化函數(shù)FORMAT(x,n) 109 4.8.2不同進(jìn)制的數(shù)字進(jìn)行轉(zhuǎn)換的函數(shù) 109 4.8.3IP地址與數(shù)字相互轉(zhuǎn)換的函數(shù) 110 4.8.4加鎖函數(shù)和解鎖函數(shù) 111 4.8.5重復(fù)執(zhí)行指定操作的函數(shù) 111 4.8.6改變字符集的函數(shù) 112 4.8.7改變數(shù)據(jù)類型的函數(shù) 112 4.9窗口函數(shù) 113 第5章查詢數(shù)據(jù) 115 5.1基本查詢語句 115 5.2單表查詢 117 5.2.1查詢所有字段 117 5.2.2查詢指定字段 118 5.2.3查詢指定記錄 120 5.2.4帶IN關(guān)鍵字的查詢 121 5.2.5帶BETWEEN…AND…的范圍查詢 122 5.2.6帶LIKE的字符匹配查詢 123 5.2.7查詢空值 124 5.2.8帶AND的多條件查詢 126 5.2.9帶OR的多條件查詢 126 5.2.10查詢結(jié)果不重復(fù) 127 5.2.11對(duì)查詢結(jié)果排序 128 5.2.12分組查詢 131 5.2.13使用LIMIT限制查詢結(jié)果的數(shù)量 136 5.3使用集合函數(shù)查詢 137 5.3.1COUNT()函數(shù) 137 5.3.2SUM()函數(shù) 138 5.3.3AVG()函數(shù) 139 5.3.4MAX()函數(shù) 140 5.3.5MIN()函數(shù) 141 5.4連接查詢 141 5.4.1內(nèi)連接查詢 142 5.4.2外連接查詢 144 5.4.3復(fù)合條件連接查詢 146 5.5子查詢 147 5.5.1帶ANY、SOME關(guān)鍵字的子查詢 147 5.5.2帶ALL關(guān)鍵字的子查詢 147 5.5.3帶EXISTS關(guān)鍵字的子查詢 148 5.5.4帶IN關(guān)鍵字的子查詢 149 5.5.5帶比較運(yùn)算符的子查詢 151 5.6合并查詢結(jié)果 152 5.7為表和字段取別名 154 5.7.1為表取別名 154 5.7.2為字段取別名 155 5.8使用正則表達(dá)式查詢 157 5.8.1查詢以特定字符或字符串開頭的記錄 157 5.8.2查詢以特定字符或字符串結(jié)尾的記錄 158 5.8.3用符號(hào).來替代字符串中的任意一個(gè)字符 158 5.8.4使用*和 來匹配多個(gè)字符 159 5.8.5匹配指定字符串 159 5.8.6匹配指定字符中的任意一個(gè) 160 5.8.7匹配指定字符以外的字符 161 5.8.8使用{n,}或者{n,m}來指定字符串連續(xù)出現(xiàn)的次數(shù) 162 5.9通用表表達(dá)式 162 第6章插入、更新與刪除數(shù)據(jù) 166 6.1插入數(shù)據(jù) 166 6.1.1為表的所有字段插入數(shù)據(jù) 166 6.1.2為表的指定字段插入數(shù)據(jù) 168 6.1.3同時(shí)插入多條記錄 169 6.1.4將查詢結(jié)果插入到表中 170 6.2更新數(shù)據(jù) 172 6.3刪除數(shù)據(jù) 173 6.4為表增加計(jì)算列 175 6.5DDL的原子化 176 第7章索引的設(shè)計(jì)和使用 178 7.1索引簡介 178 7.1.1索引的含義和特點(diǎn) 178 7.1.2索引的分類 179 7.1.3索引的設(shè)計(jì)原則 180 7.2創(chuàng)建索引 180 7.2.1創(chuàng)建表的時(shí)候創(chuàng)建索引 180 7.2.2在已經(jīng)存在的表上創(chuàng)建索引 185 7.3刪除索引 191 7.4統(tǒng)計(jì)直方圖 193 7.4.1直方圖的優(yōu)點(diǎn) 193 7.4.2直方圖的基本操作 193 第8章存儲(chǔ)過程和函數(shù) 195 8.1創(chuàng)建存儲(chǔ)過程和函數(shù) 195 8.1.1創(chuàng)建存儲(chǔ)過程 195 8.1.2創(chuàng)建存儲(chǔ)函數(shù) 197 8.1.3變量的使用 198 8.1.4定義條件和處理程序 199 8.1.5光標(biāo)的使用 202 8.1.6流程控制的使用 203 8.2調(diào)用存儲(chǔ)過程和函數(shù) 207 8.2.1調(diào)用存儲(chǔ)過程 207 8.2.2調(diào)用存儲(chǔ)函數(shù) 208 8.3查看存儲(chǔ)過程和函數(shù) 208 8.3.1使用SHOWSTATUS語句查看存儲(chǔ)過程和函數(shù)的狀態(tài) 208 8.3.2使用SHOWCREATE語句查看存儲(chǔ)過程和函數(shù)的定義 209 8.3.3從information_schema.Routines表中查看存儲(chǔ)過程和函數(shù)的信息 210 8.4修改存儲(chǔ)過程和函數(shù) 211 8.5刪除存儲(chǔ)過程和函數(shù) 212 8.6全局變量的持久化 213 第9章視圖 214 9.1視圖概述 214 9.1.1視圖的含義 214 9.1.2視圖的作用 215 9.2創(chuàng)建視圖 215 9.2.1創(chuàng)建視圖的語法形式 216 9.2.2在單表上創(chuàng)建視圖 216 9.2.3在多表上創(chuàng)建視圖 217 9.3查看視圖 218 9.3.1使用DESCRIBE語句查看視圖基本信息 218 9.3.2使用SHOWTABLESTATUS語句查看視圖基本信息 218 9.3.3使用SHOWCREATEVIEW語句查看視圖詳細(xì)信息 219 9.3.4在views表中查看視圖詳細(xì)信息 220 9.4修改視圖 221 9.4.1使用CREATEORREPLACEVIEW語句修改視圖 221 9.4.2使用ALTER語句修改視圖 222 9.5更新視圖 222 9.6刪除視圖 225 第10章MySQL觸發(fā)器 226 10.1創(chuàng)建觸發(fā)器 226 10.1.1創(chuàng)建只有一個(gè)執(zhí)行語句的觸發(fā)器 226 10.1.2創(chuàng)建有多個(gè)執(zhí)行語句的觸發(fā)器 227 10.2查看觸發(fā)器 229 10.2.1利用SHOWTRIGGERS語句查看觸發(fā)器信息 229 10.2.2在triggers表中查看觸發(fā)器信息 231 10.3觸發(fā)器的使用 232 10.4刪除觸發(fā)器 233 第11章存儲(chǔ)引擎的選擇 234 11.1MySQL的架構(gòu) 234 11.1.1MySQL物理文件的組成 235 11.1.2MySQL各邏輯塊簡介 237 11.1.3MySQL各邏輯塊協(xié)調(diào)工作 239 11.2MySQL存儲(chǔ)引擎簡介 240 11.3更改數(shù)據(jù)表的存儲(chǔ)引擎 242 11.4各種存儲(chǔ)引擎的特性 242 11.4.1MyISAM 243 11.4.2InnoDB存儲(chǔ)引擎 245 11.4.3MEMORY 247 11.4.4MERGE 248 11.5選擇合適的存儲(chǔ)引擎 250 第12章MySQL分區(qū)和事務(wù)控制 252 12.1合并表 252 12.2分區(qū)表 254 12.2.1認(rèn)識(shí)分區(qū)表 254 12.2.2RANGE分區(qū) 254 12.2.3LIST分區(qū) 256 12.2.4HASH分區(qū) 257 12.2.5線性HASH分區(qū) 257 12.2.6KEY分區(qū) 258 12.2.7復(fù)合分區(qū) 259 12.3事務(wù)控制 261 12.4MySQL分布式事務(wù) 264 12.4.1分布式事務(wù)的原理 264 12.4.2分布式事務(wù)的語法 265 第13章MySQL性能優(yōu)化 267 13.1優(yōu)化簡介 267 13.2優(yōu)化查詢 268 13.2.1分析查詢語句 268 13.2.2索引對(duì)查詢速度的影響 271 13.2.3使用索引查詢 272 13.2.4優(yōu)化子查詢 274 13.3優(yōu)化數(shù)據(jù)庫結(jié)構(gòu) 274 13.3.1將字段很多的表分解成多個(gè)表 274 13.3.2增加中間表 276 13.3.3增加冗余字段 277 13.3.4優(yōu)化插入記錄的速度 277 13.3.5分析表、檢查表和優(yōu)化表 279 13.4臨時(shí)表性能優(yōu)化 281 13.5創(chuàng)建全局通用表空間 282 13.6隱藏和顯示索引 283 第14章MySQL的鎖定機(jī)制 285 14.1認(rèn)識(shí)MySQL的鎖定機(jī)制 285 14.2MyISAM的鎖定機(jī)制 289 14.2.1MyISAM表級(jí)鎖的鎖模式 289 14.2.2獲取MyISAM表級(jí)鎖的爭用情況 291 14.2.3MyISAM表級(jí)鎖加鎖方法 292 14.2.4MyISAMConcurrentInsert的特性 294 14.2.5MyISAM表鎖優(yōu)化建議 295 14.3InnoDB的鎖定機(jī)制 296 14.3.1InnoDB行級(jí)鎖模式 296 14.3.2獲取InnoDB行級(jí)鎖的爭用情況 300 14.3.3InnoDB行級(jí)鎖的實(shí)現(xiàn)方法 304 14.3.4間隙鎖(Net-Key鎖) 307 14.3.5InnoDB在不同隔離級(jí)別下加鎖的差異 309 14.3.6InnoDB存儲(chǔ)引擎中的死鎖 309 14.3.7InnoDB行級(jí)鎖優(yōu)化建議 311 14.4跳過鎖等待 311 第15章MySQL服務(wù)器性能優(yōu)化 313 15.1優(yōu)化MySQL服務(wù)器簡介 313 15.1.1優(yōu)化服務(wù)器硬件 313 15.1.2優(yōu)化MySQL的參數(shù) 314 15.2影響MySQL性能的重要參數(shù) 315 15.2.1查看性能參數(shù)的方法 315 15.2.2key_buffer_size的設(shè)置 319 15.2.3內(nèi)存參數(shù)的設(shè)置 321 15.2.4日志和事務(wù)參數(shù)的設(shè)置 322 15.2.5存儲(chǔ)和I/O相關(guān)參數(shù)的設(shè)置 324 15.2.6其他重要參數(shù)的設(shè)置 325 15.3MySQL日志設(shè)置優(yōu)化 326 15.4MySQLI/O設(shè)置優(yōu)化 328 15.5MySQL并發(fā)設(shè)置優(yōu)化 330 15.6服務(wù)器語句超時(shí)處理 331 15.7線程和臨時(shí)表的優(yōu)化 331 15.7.1線程的優(yōu)化 331 15.7.2臨時(shí)表的優(yōu)化 332 15.8增加資源組 333 第16章MySQL性能監(jiān)控 335 16.1基本監(jiān)控系統(tǒng)方法 335 16.1.1ps命令 335 16.1.2top命令 336 16.1.3vmstat命令 338 16.1.4mytop命令 339 16.1.5sysstat工具 341 16.2開源監(jiān)控利器Nagios實(shí)戰(zhàn) 345 16.2.1安裝Nagios之前的準(zhǔn)備工作 346 16.2.2安裝Nagios主程序 347 16.2.3整合Nagios到Apache服務(wù) 348 16.2.4安裝Nagios插件包 351 16.2.5監(jiān)控服務(wù)器的CPU、負(fù)載、磁盤I/O使用情況 352 16.2.6配置Nagios監(jiān)控MySQL服務(wù)器 356 16.3MySQL監(jiān)控利器Cacti實(shí)戰(zhàn) 359 16.3.1Cacti工具的安裝 359 16.3.2Cacti監(jiān)控MySQL服務(wù)器 363 第17章數(shù)據(jù)備份與恢復(fù) 368 17.1數(shù)據(jù)備份 368 17.1.1使用mysqldump命令備份 368 17.1.2直接復(fù)制整個(gè)數(shù)據(jù)庫目錄 373 17.1.3使用mysqlhotcopy工具快速備份 374 17.2數(shù)據(jù)恢復(fù) 374 17.2.1使用MySQL命令恢復(fù) 374 17.2.2直接復(fù)制到數(shù)據(jù)庫目錄 375 17.2.3mysqlhotcopy快速恢復(fù) 375 17.3數(shù)據(jù)庫遷移 376 17.3.1相同版本的MySQL數(shù)據(jù)庫之間的遷移 376 17.3.2不同版本的MySQL數(shù)據(jù)庫之間的遷移 376 17.3.3不同數(shù)據(jù)庫之間的遷移 377 17.4表的導(dǎo)出和導(dǎo)入 377 17.4.1使用SELECT…INTOOUTFILE導(dǎo)出文本文件 377 17.4.2使用mysqldump命令導(dǎo)出文本文件 381 17.4.3使用MySQL命令導(dǎo)出文本文件 383 17.4.4使用LOADDATAINFILE方式導(dǎo)入文本文件 386 17.4.5使用mysqlimport命令導(dǎo)入文本文件 388 第18章MySQL日志 390 18.1日志簡介 390 18.2二進(jìn)制日志 391 18.2.1啟動(dòng)和設(shè)置二進(jìn)制日志 391 18.2.2查看二進(jìn)制日志 392 18.2.3刪除二進(jìn)制日志 393 18.2.4使用二進(jìn)制日志恢復(fù)數(shù)據(jù)庫 395 18.2.5暫時(shí)停止二進(jìn)制日志功能 395 18.3錯(cuò)誤日志 396 18.3.1啟動(dòng)和設(shè)置錯(cuò)誤日志 396 18.3.2查看錯(cuò)誤日志 396 18.3.3刪除錯(cuò)誤日志 397 18.4通用查詢?nèi)罩?398 18.4.1啟動(dòng)通用查詢?nèi)罩?398 18.4.2查看通用查詢?nèi)罩?398 18.4.3刪除通用查詢?nèi)罩?399 18.5慢查詢?nèi)罩?399 18.5.1啟動(dòng)和設(shè)置慢查詢?nèi)罩?399 18.5.2查看慢查詢?nèi)罩?400 18.5.3刪除慢查詢?nèi)罩?400 第19章MySQL權(quán)限與安全管理 401 19.1權(quán)限表 401 19.1.1user表 401 19.1.2db表 403 19.1.3tables_priv表和columns_priv表 405 19.1.4procs_priv表 405 19.2賬戶管理 406 19.2.1登錄和退出MySQL服務(wù)器 406 19.2.2新建普通用戶 407 19.2.3刪除普通用戶 409 19.2.4root用戶修改普通用戶密碼 411 19.3權(quán)限管理 412 19.3.1MySQL的各種權(quán)限 412 19.3.2授權(quán) 414 19.3.3收回權(quán)限 415 19.3.4查看權(quán)限 416 19.4訪問控制 417 19.4.1連接核實(shí)階段 417 19.4.2請(qǐng)求核實(shí)階段 417 19.5提升安全性 418 19.5.1密碼到期更換策略 418 19.5.2安全模式安裝 420 19.6管理角色 420 第20章MySQL高可用架構(gòu) 422 20.1MySQL高可用簡介 422 20.2MySQL主從復(fù)制架構(gòu) 423 20.2.1MySQL主從架構(gòu)設(shè)計(jì) 423 20.2.2配置環(huán)境 423 20.2.3服務(wù)器的安裝配置 424 20.2.4LVS的安裝配置 426 20.3MySQL DRBD HA主備架構(gòu) 428 20.3.1什么是DRBD 428 20.3.2MySQL DRBD HA架構(gòu)設(shè)計(jì) 428 20.3.3配置環(huán)境 429 20.3.4安裝配置Heartbeat 429 20.3.5安裝配置DRBD 431 20.4LVS Keepalived MySQL單點(diǎn)寫入主主同步架構(gòu) 433 20.4.1配置環(huán)境 434 20.4.2LVS Keepalived的安裝 438 20.4.3LVS Keepalived的配置 439 20.4.4Master和Backup的啟動(dòng) 441 20.5MMM高可用架構(gòu) 442 20.5.1MMM高可用架構(gòu)簡介 442 20.5.2配置環(huán)境 442 20.5.3MMM的安裝 445 20.5.4Monitor服務(wù)器的配置 446 20.5.5各個(gè)數(shù)據(jù)庫服務(wù)器的配置 447 20.5.6MMM的管理 447 第21章MySQL復(fù)制 449 21.1MySQL復(fù)制概述 449 21.2Windows環(huán)境下的MySQL主從復(fù)制 450 21.2.1復(fù)制前的準(zhǔn)備工作 450 21.2.2Windows環(huán)境下實(shí)現(xiàn)主從復(fù)制 450 21.2.3Windows環(huán)境下主從復(fù)制測試 456 21.3Linux環(huán)境下的MySQL復(fù)制 457 21.3.1下載并安裝MySQL8.0 458 21.3.2單機(jī)主從復(fù)制前的準(zhǔn)備工作 459 21.3.3mysqld_multi實(shí)現(xiàn)單機(jī)主從復(fù)制 462 21.3.4不同服務(wù)器之間實(shí)現(xiàn)主從復(fù)制 468 21.3.5MySQL主從復(fù)制啟動(dòng)選項(xiàng) 470 21.3.6指定復(fù)制的數(shù)據(jù)庫或者表 471 21.4查看從服務(wù)器的復(fù)制進(jìn)度 477 21.5復(fù)制環(huán)境的監(jiān)控和維護(hù) 478 21.5.1了解服務(wù)器的狀態(tài) 478 21.5.2服務(wù)器復(fù)制出錯(cuò)的原因 479 21.6切換主從服務(wù)器 482 21.7多源復(fù)制的改進(jìn) 485 第22章MySQLUtilities 488 22.1MySQLUtilities概述 488 22.2安裝與配置 488 22.2.1下載與安裝MySQLUtilities 489 22.2.2MySQLUtilities連接數(shù)據(jù)庫 490 22.3管理與維護(hù) 491 22.3.1使用mysqldbcompare比較數(shù)據(jù) 491 22.3.2使用mysqldbcopy復(fù)制數(shù)據(jù) 492 22.3.3使用mysqldbexport導(dǎo)出數(shù)據(jù) 492 22.3.4使用mysqldbimport導(dǎo)入數(shù)據(jù) 493 22.3.5使用mysqldiff比較對(duì)象的定義 493 第23章MySQLProxy 494 23.1概述 494 23.2安裝與配置 495 23.2.1下載與安裝MySQLProxy 495 23.2.2配置MySQLProxy參數(shù) 496 23.3使用MySQLProxy實(shí)現(xiàn)讀寫分離 498 第24章新聞發(fā)布系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 499 24.1系統(tǒng)概述 499 24.2系統(tǒng)功能 500 24.3數(shù)據(jù)庫設(shè)計(jì)和實(shí)現(xiàn) 500 24.3.1設(shè)計(jì)表 501 24.3.2設(shè)計(jì)索引 505 24.3.3設(shè)計(jì)視圖 506 24.3.4設(shè)計(jì)觸發(fā)器 506 第25章論壇管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 508 25.1系統(tǒng)概述 508 25.2系統(tǒng)功能 509 25.3數(shù)據(jù)庫設(shè)計(jì)和實(shí)現(xiàn) 509 25.3.1設(shè)計(jì)方案圖表 509 25.3.2設(shè)計(jì)表 511 25.3.3設(shè)計(jì)索引 514 25.3.4設(shè)計(jì)視圖 515 25.3.5設(shè)計(jì)觸發(fā)器 516
你還可能感興趣
我要評(píng)論
|