[toc]
# 前言
# 第一部分 基礎篇
## 第1章 MySQL的安裝與配置
### 1.1 MySQL的下載
### 1.2 MySQL的安裝
### 1.3 MySQL的配置
### 1.4 啟動和關閉MySQL服務
### 1.5 小結
## 第2章 SQL基礎
### 2.1 SQL簡介
### 2.2 (My)SQL使用入門
### 2.3 幫助的使用
### 2.4 查詢元數據信息
### 2.5 小結
## 第3章 MySQL支持的數據類型
### 3.1 數值類型
### 3.2 日期時間類型
### 3.3 字符串類型
### 3.4 小結
## 第4章 MySQL中的運算符
### 4.1 算術運算符
### 4.2 比較運算符
### 4.3 邏輯運算符
### 4.4 位運算符
### 4.5 運算符的優先級
### 4.6 小結
## 第5章 常用函數
### 5.1 字符串函數
### 5.2 數值函數
### 5.3 日期和時間函數
### 5.4 流程函數
### 5.5 其他常用函數
### 5.6 小結
## 第6章 圖形化工具的使用
### 6.1 MySQL Workbench
### 6.2 phpMyAdmin
### 6.3 小結
# 第二部分 開發篇
## 第7章 表類型(存儲引擎)的選擇
### 7.1 MySQL存儲引擎概述
### 7.2 各種存儲引擎的特性
### 7.3 如何選擇合適的存儲引擎
### 7.4 小結
## 第8章 選擇合適的數據類型
### 8.1 CHAR與VARCHAR
### 8.2 TEXT與BLOB
### 8.3 浮點數與定點數
### 8.4 日期類型選擇
### 8.5 小結
## 第9章 字符集
### 9.1 字符集概述
### 9.2 Unicode簡述
### 9.3 漢字及一些常見字符集
### 9.4 怎樣選擇合適的字符集
### 9.5 MySQL支持的字符集簡介
### 9.6 MySQL字符集的設置
### 9.7 字符集的修改步驟
### 9.8 小結
## 第10章 索引的設計和使用
### 10.1 索引概述
### 10.2 設計索引的原則
### 10.3 BTREE索引與HASH索引
### 10.4 小結
## 第11章 視圖
### 11.1 什么是視圖
### 11.2 視圖操作
### 11.3 小結
## 第12章 存儲過程和函數
### 12.1 什么是存儲過程和函數
### 12.2 存儲過程和函數的相關操作
### 12.3 小結
### 第13章 觸發器
### 13.1 創建觸發器
### 13.2 刪除觸發器
### 13.3 查看觸發器
### 13.4 觸發器的使用
### 13.5 小結
## 第14章 事務控制和鎖定語句
### 14.1 LOCK TABLE和UNLOCK TABLE
### 14.2 事務控制
### 14.3 分布式事務的使用
### 14.4 小結
## 第15章 SQL中的安全問題
### 15.1 SQL注入簡介
### 15.2 應用開發中可以采取的應對措施
### 15.3 小結
## 第16章 SQL Mode及相關問題
### 16.1 MySQL SQL Mode簡介
### 16.2 SQL Mode的常見功能
### 16.3 常用的SQL Mode
### 16.4 SQL Mode在遷移中如何使用
### 16.5 小結
## 第17章 MySQL分區
### 17.1 分區概述
### 17.2 分區類型
### 17.3 分區管理
### 17.4 小結
# 第三部分 優化篇
## 第18章 SQL優化
### 18.1 優化SQL語句的一般步驟
### 18.2 索引問題
### 18.3 兩個簡單實用的優化方法
### 18.4 常用SQL的優化
### 18.5 常用SQL技巧
### 18.6 小結
## 第19章 優化數據庫對象
### 19.1 優化表的數據類型
### 19.2 通過拆分提高表的訪問效率
### 19.3 逆規范化
### 19.4 使用中間表提高統計查詢速度
### 19.5 小結
## 第20章 鎖問題
### 20.1 MySQL鎖概述
### 20.2 MyISAM表鎖
### 20.3 InnoDB鎖問題
### 20.4 小結
## 第21章 優化MySQL Server
### 21.1 MySQL體系結構概覽
### 21.2 MySQL內存管理及優化
### 21.3 InnoDB log機制及優化
### 21.4 調整MySQL并發相關的參數
### 21.5 小結
## 第22章 磁盤I/O問題
### 22.1 使用磁盤陣列
### 22.2 虛擬文件卷或軟RAID
### 22.3 使用Symbolic Links分布 I/O
### 22.4 禁止操作系統更新文件的atime屬性
### 22.5 用裸設備(Raw Device)存放 InnoDB的共享表空間
### 22.6 調整I/O調度算法
### 22.7 RAID卡電池充放電問題
### 22.8 NUMA架構優化
### 22.9 小結
## 第23章 應用優化
### 23.1 使用連接池
### 23.2 減少對MySQL的訪問
### 23.3 負載均衡
### 23.4 其他優化措施
### 23.5 小結
# 第四部分 管理維護篇
## 第24章 MySQL高級安裝和升級
### 24.1 Linux/UNIX平臺下的安裝
### 24.2 源碼包安裝的性能考慮
### 24.3 升級MySQL
### 24.4 MySQL降級
### 24.5 小結
## 第25章 MySQL中的常用工具
### 25.1 mysql(客戶端連接工具)
### 25.2 myisampack(MyISAM表壓縮工具)
### 25.3 mysqladmin(MySQL管理工具)
### 25.4 mysqlbinlog(日志管理工具)
### 25.5 mysqlcheck(MyISAM表維護工具)
### 25.6 mysqldump(數據導出工具)
### 25.7 mysqlhotcopy(MyISAM表熱備份工具)
### 25.8 mysqlimport(數據導入工具)
### 25.9 mysqlshow(數據庫對象查看工具)
### 25.10 perror(錯誤代碼查看工具)
### 25.11 replace(文本替換工具)
### 25.12 小結
## 第26章 MySQL日志
### 26.1 錯誤日志
### 26.2 二進制日志
### 26.3 查詢日志
### 26.4 慢查詢日志
### 26.5 mysqlsla簡介
### 26.6 小結
## 第27章 備份與恢復
### 27.1 備份/恢復策略
### 27.2 邏輯備份和恢復
### 27.3 物理備份和恢復
### 27.4 表的導入導出
### 27.5 小結
## 第28章 MySQL權限與安全
### 28.1 MySQL權限管理
### 28.2 MySQL安全問題
### 28.3 其他安全設置選項
### 28.4 小結
## 第29章 MySQL監控
### 29.1 如何選擇一個監控方案
### 29.2 常用網絡監控工具
### 29.3 Zabbix 部署
### 29.4 小結
## 第30章 MySQL常見問題和應用技巧
### 30.1 忘記MySQL的root密碼
### 30.2 如何處理MyISAM存儲引擎的表損壞
### 30.3 MyISAM表超過 4GB無法訪問的問題
### 30.4 數據目錄磁盤空間不足的問題
### 30.5 DNS反向解析的問題
### 30.6 mysql.sock丟失后如何連接數據庫
### 30.7 同一臺服務器運行多個MySQL數據庫
### 30.8 客戶端怎么訪問內網數據庫
### 30.9 小結
# 第五部分 架構篇
## 第31章 MySQL復制
### 31.1 復制概述
### 31.2 復制搭建過程
### 31.3 主要復制啟動選項
### 31.4 日常管理維護
### 31.5 切換主從庫
### 31.6 小結
## 第32章 MySQL Cluster
### 32.1 MySQL Cluster架構
### 32.2 MySQL Cluster的配置
### 32.3 開始使用Cluster
### 32.4 維護Cluster
### 32.5 小結
## 第33章 高可用架構
### 33.1 MMM架構
### 33.2 MHA架構
### 33.3 安裝部署MHA
### 33.4 小結