0916~0919_開學季語言展

MySQL故障排除與效能調教完全攻略(上)

  • 9 540
    600

活動訊息

想找書的時候,特別想偷看網友的書櫃... 原來大家都在看這本 ↓↓↓

用閱讀開啟視野,讓書成為照亮你人生的光
【金石堂選書】本月推薦您這些好書👉 快來看看

內容簡介

本書一共分為3篇:基礎篇(上)、案例篇和工具篇(下)。

基礎篇:
從理論基礎和基本原理層面介紹了 MySQL 的安裝與設定、升級和架構,information_schema、sys_schema、performance_schema 和 mysql_schema,MySQL複製、MySQL 交易、SQL 語句最佳化及架構設計基礎知識。

案例篇:
從硬體和系統、MySQL 架構等方面提出了效能最佳化的十幾個案例,包括:效能測試的基本最佳化概念和最需要關注的效能指標解釋、對 SQL 語句執行慢的基本定位、避免 x86 可用性的一般性方法、節能模式會怎樣影響效能、I/O 儲存作為資料庫最重要的依賴是如何影響資料庫效能的、主備複製不一致可能有哪些原因、字元集不一致會造成哪些效能問題、在實際場景中鎖的爭用是怎樣的。

工具篇:
介紹了在 MySQL 效能最佳化過程中需要用到的各種工具,包括:dmidecode、top、dstat 等硬體和系統排查工具;FIO、sysbench、HammerDB 等壓力測試工具;mysqldump、XtraBackup 等備份工具;Percona、innotop、Prometheus 等監控工具。
--------------------------------------------------------------------------------
效能問題:
本書解決 MySQL 資料庫效能問題,某種程度來說,MySQL 資料庫效能最佳化問題是一個平行處理的問題,歸根究柢是鎖和資源爭用的問題。

其實效能最佳化要做的就是下列事情:
•瞭解基本原理。找到事情的因果關係和依賴關係,儘量讓不相關的事情能平行進行。
•要事第一。找到目前最重要、最需要最佳化的地方,投入時間和精力,不斷去改進與最佳化。
•切中要害。找到耗費時間最長的地方,想盡辦法縮短其時間。

機械思維和大數據思維:
本書的效能最佳化方法論還是工業革命時代的機械思維,簡而言之,就是尋找因果關係,大膽假設,小心求證。現在已經是資訊時代,理應瞭解什麼是資訊理論,解決問題需要利用大數據思維!

讀者對象:
(1)MySQL 初學者。
(2)專門從事 MySQL 工作1~3年的開發人員和運維人員。
(3)資深的 MySQL DBA。

作者

李春

原阿里巴巴 MySQL DBA 團隊技術 Leader,全程參與阿里資料庫架構從 Oracle 遷移到 MySQL 的過程,參與分散式中介軟體 Cobar 設計。現為沃趣科技聯合創始人&首席架構師,負責 MySQL、基礎軟體及部分關鍵組件的技術選型、風險評估等。

羅小波

沃趣科技高級資料庫工程師,主要負責 MySQL 產品的資料庫支撐與售後二線支撐。曾參與版本發布系統、輕量級監控系統、運維管理平台、資料庫管理平台的設計與編寫,熟悉 MySQL 體系結構,Innodb 存儲引擎,喜好專研開源技術,多次在公開場合做過線下線上資料庫專題分享,發表過多篇與資料庫相關的研究文章。

董紅禹

沃趣科技 MySQL DBA,為多家大型企業進行過故障解決、架構設計、效能最佳化,例如中信證券、浙江農信、陝西農信、郵儲銀行等。規劃並實施了浙江農信互聯網核心金融平台。

目錄

基礎篇

第 1 章 MySQL 初始化安裝、簡單安全加固
1.1 背景
1.2 初始化安裝
1.2.1 下載二進位安裝檔
1.2.2 建立 mysql 使用者
1.2.3 建立程式、資料存放目錄
1.2.4 解壓縮二進位檔案並設定目錄權限
1.2.5 軟連結程式路徑,並設定 MySQL 命令環境變數
1.2.6 設定 my.cnf 檔案參數
1.2.7 初始化 MySQL
1.2.8 啟動 MySQL
1.3 簡單安全加固
1.3.1 登錄 MySQL
1.3.2 刪除非 root 或非 localhost 的使用者,並修改 root 密碼
1.3.3 刪除 test 資料庫,清理 mysql.db 資料表
1.4 建立使用者、資料庫、資料表與資料
1.4.1 建立管理者與授權
1.4.2 建立資料庫、資料表、程式帳號
1.4.3 插入資料
1.5 MySQL 參數範本

第 2 章 MySQL 常用的兩種升級方法
2.1 背景
2.2 MySQL 5.5.54 的安裝
2.3 升級 MySQL 5.5.54 到 MySQL 5.6.35
2.3.1 使用 mysql_upgrade 直接升級資料字典庫
2.3.2 使用 mysqldump 邏輯備份資料
2.4 升級注意事項

第 3 章 MySQL 架構
3.1 快速安裝 MySQL
3.2 資料目錄結構
3.3 MySQL Server 架構
3.4 MySQL 中的儲存引擎
3.5 InnoDB 儲存引擎架構
3.6 InnoDB 儲存引擎後台執行緒
3.7 MySQL 前台執行緒

第 4 章 performance_schema 初相識
4.1 什麼是 performance_schema
4.2 performance_schema 快速使用入門
4.2.1 檢查目前資料庫版本是否支援
4.2.2 啟用 performance_schema
4.2.3 performance_schema 資料表的分類
4.2.4 performance_schema 簡單設定與使用

第 5 章 performance_schema 組態詳解
5.1 編譯時組態
5.2 啟動時組態
5.2.1 啟動選項
5.2.2 system variables
5.3 執行時期組態
5.3.1 performance_timers 資料表
5.3.2 setup_consumers 資料表
5.3.3 setup_instruments 資料表
5.3.4 setup_actors 資料表
5.3.5 setup_objects 資料表
5.3.6 threads 資料表

第 6 章 performance_schema 應用範例薈萃
6.1 利用等待事件排查 MySQL 效能問題
6.2 鎖問題排查
6.2.1 找出誰持有全域讀鎖
6.2.2 找出誰持有 MDL 鎖
6.2.3 找出誰持有表級鎖
6.2.4 找出誰持有列級鎖
6.3 查看最近的 SQL 語句執行資訊
6.3.1 查看最近的 TOP SQL 語句
6.3.2 查看最近執行失敗的 SQL 語句
6.4 查看 SQL 語句執行階段和進度資訊
6.4.1 查看 SQL 語句執行階段資訊
6.4.2 查看 SQL 語句執行進度資訊
6.5 查看最近的交易執行資訊
6.6 查看多執行緒複製報錯細節

第 7 章 sys 系統資料庫初相識
7.1 sys 系統資料庫使用基礎環境
7.2 sys 系統資料庫初體驗
7.3 sys 系統資料庫的進度報告功能

第 8 章 sys 系統資料庫組態表
8.1 sys_config 資料表
8.2 sys_config_insert_set_user 觸發器
8.3 sys_config_update_set_user 觸發器

第 9 章 sys 系統資料庫應用範例薈萃
9.1 查看 SQL 語句慢在哪裡
9.2 查看是否有交易鎖等待
9.3 查看是否有 MDL 鎖等待
9.4 查看 InnoDB 緩衝池的熱點資料
9.5 查看冗餘索引
9.6 查看未使用的索引
9.7 查詢資料表的增、刪、改、查資料量,以及 I/O 耗時統計資訊
9.8 查看 MySQL 檔案產生的磁碟流量與讀寫比例
9.9 查看哪些語句使用全資料表掃描
9.10 查看哪些語句使用檔案排序
9.11 查看哪些語句使用臨時資料表

第 10 章 information_schema 初相識
10.1 什麼是 information_schema
10.2 information_schema 組成物件
10.2.1 Server 層的統計資訊字典表
10.2.2 Server 層的資料表等級物件字典表
10.2.3 Server 層的混合資訊字典表
10.2.4 InnoDB 層的系統字典表
10.2.5 InnoDB 層的鎖、交易、統計資訊字典表
10.2.6 InnoDB 層的全文索引字典表
10.2.7 InnoDB 層的壓縮相關字典表

第 11 章 information_schema 應用範例薈萃
11.1 使用 Server 層的字典表查詢相關的中繼資料
11.1.1 查看資料庫是否使用外鍵
11.1.2 查看 InnoDB 資料表空間檔案資訊
11.1.3 查看索引的統計資訊
11.1.4 查看資料表的欄位相關資訊
11.1.5 查看資料庫是否使用預存程序
11.1.6 查看資料庫的分區表資訊
11.1.7 查看資料庫的觸發器
11.1.8 查看資料庫的計畫任務
11.1.9 查看用戶端工作階段的狀態資訊
11.2 使用 InnoDB 層的字典表查詢相關的中繼資料
11.2.1 查看索引行的資訊
11.2.2 查看資料表的欄位相關資訊
11.2.3 查看交易鎖等待資訊
11.2.4 查看 InnoDB 緩衝池的熱點資料

第 12 章 mysql 系統資料庫的權限系統表
12.1 user
12.2 db
12.3 tables_priv
12.4 columns_priv
12.5 procs_priv
12.6 proxies_priv

第 13 章 mysql 系統資料庫之存取權限控制系統
13.1 存取權限控制系統概述
13.2 MySQL 提供哪些權限
13.3 MySQL 帳號命名規則
13.4 MySQL 帳號存取控制兩階段
13.4.1 第一階段(帳號和密碼認證)
13.4.2 第二階段(權限檢查)
13.5 權限變更的影響
13.6 MySQL 常見連接問

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 ok便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      ok便利商店 順豐 7-11便利商店

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9789864349586
    • 分級
    • 普通級
    • 頁數
    • 416
    • 商品規格
    • 23*17
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
※ 網友掛保證,絕不踩雷書單如下 ↓↓↓
預計 2025/09/30 出貨 購買後進貨 
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing