庫存狀況
「香港二樓書店」讓您 愛上二樓●愛上書
我的購物車 加入會員 會員中心 常見問題 首頁
「香港二樓書店」邁向第一華人書店
登入 客戶評價 whatsapp 常見問題 加入會員 會員專區 現貨書籍 現貨書籍 購物流程 運費計算 我的購物車 聯絡我們 返回首頁
香港二樓書店 > 今日好書推介
   
成為賈伯斯:天才巨星的挫敗與孕成
  • 定價217.00元
  • 8 折優惠:HK$173.6
  • 放入購物車
二樓書籍分類
 
MySQL故障排除與效能調教完全攻略(上)

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

沒有庫存
訂購需時10-14天
9789864349586
李春,羅小波,董紅禹
博碩
2021年12月07日
200.00  元
HK$ 170  






ISBN:9789864349586
  • 叢書系列:單行本
  • 規格:平裝 / 416頁 / 17 x 23 x 2.08 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣
    單行本


  • 電腦資訊 > 資料庫/大數據 > MySQL











      本書一共分為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。

    ?


     





    基礎篇



    第 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 常見連接問題



    第 14 章 mysql 系統資料庫之統計資訊表

    14.1 統計資訊概述

    14.2 統計資訊表詳解

    14.2.1 innodb_table_stats

    14.2.2 innodb_index_stats



    第 15 章 mysql 系統資料庫之複製資訊表

    15.1 複製資訊表概述

    15.2 複製資訊表詳解

    15.2.1 slave_master_info

    15.2.2 slave_relay_log_info

    15.2.3 slave_worker_info

    15.2.4 gtid_executed

    15.2.5 ndb_binlog_index



    第 16 章 mysql 系統資料庫之日誌記錄表

    16.1 日誌資訊概述

    16.2 日誌表詳解

    16.2.1 general_log

    16.2.2 slow_log



    第 17 章 mysql 系統資料庫應用範例薈萃

    17.1 查看使用者不同作用域的權限

    17.1.1 查看全域權限

    17.1.2 查看資料庫權限等級

    17.1.3 查看資料表權限等級

    17.1.4 查看欄位權限等級

    17.2 查看統計資訊

    17.2.1 查看資料表統計資訊

    17.2.2 查看索引統計資訊

    17.3 查看 SQL 日誌資訊



    第 18 章 複製技術的演進

    18.1 複製格式概述

    18.2 根據資料安全的複製技術演進

    18.2.1 非同步複製

    18.2.2 半同步複製

    18.2.3 增強半同步複製

    18.2.4 群組複製

    18.2.5 GTID 複製

    18.3 根據複製效率的複製技術演進

    18.3.1 單執行緒複製

    18.3.2 DATABASE 平行複製

    18.3.3 LOGICAL_CLOCK 平行複製

    18.3.4 WRITESET 平行複製



    第 19 章 交易概念基礎

    19.1 4種交易隔離等級和3種異常現象

    19.1.1 標準的交易隔離等級

    19.1.2 調整交易隔離等級

    19.2 從交易提交談起

    19.2.1 交易管理

    19.2.2 資料庫的檔案

    19.2.3 WAL日誌先寫

    19.3 MySQL 的 Redo 日誌

    19.3.1 Redo 日誌寫入磁碟時間點

    19.3.2 Redo 日誌格式

    19.3.3 相關參數及概念

    19.3.4 CheckPoint 概念

    19.3.5 Redo 日誌的設定

    19.3.6 Redo 日誌與 Binlog 協調運作

    19.4 MVCC 介紹

    19.4.1 MVCC 原理

    19.4.2 具體程式碼



    第 20 章 InnoDB 鎖

    20.1 InnoDB 鎖概述

    20.1.1 InnoDB 鎖分類

    20.1.2 列級鎖

    20.1.3 表級鎖

    20.1.4 鎖模式對應的涵義

    20.2 加鎖驗證

    20.2.1 REPEATABLE-READ 隔離等級 + 資料表無顯式主鍵和索引

    20.2.2 REPEATABLE-READ 隔離等級 + 資料表有顯式主鍵無索引

    20.2.3 REPEATABLE-READ 隔離等級 + 資料表無顯式主鍵有索引

    20.2.4 REPEATABLE-READ 隔離等級 + 資料表有顯式主鍵和索引

    20.2.5 READ-COMMITTED 隔離等級 + 資料表無顯式主鍵和索引

    20.2.6 READ-COMMITTED 隔離等級 + 資料表有顯式主鍵無索引

    20.2.7 READ-COMMITTED 隔離等級 + 資料表無顯式主鍵有索引

    20.2.8 READ-COMMITTED 隔離等級 + 資料表有顯式主鍵和索引



    第 21 章 SQL 最佳化

    21.1 SQL 最佳化基礎概念

    21.2 MySQL 的 Join 演算法

    21.3 MySQL 的最佳化特性



    第 22 章 MySQL 讀寫擴充

    22.1 分散式架構概述

    22.2 分庫分表兩種方式

    22.2.1 中介軟體方式

    22.2.2 用戶端方式

    22.2.3 用戶端方式與中介軟體方式不同

    22.2.4 分庫與分表

    22.3 中介軟體運作方式及原理

    22.4 架構設計及業務場景

    22.5 關於中介軟體的一些限制

    22.5.1 跨資料庫查詢、複雜的 SQL 語句支援

    22.5.2 分散式交易




    其 他 著 作
    1. MySQL故障排除與效能調教完全攻略(下)