MySQL技術內幕之“日誌檔案”
*:
MySQL例項啟動時會讀取引數檔案,根據檔案中的引數來進行初始化
檢視所有引數的命令:SHOW VARIABLES ,可以通過LiKE來過濾引數名:SHOW VARIABLES LIKE’innodb_buffer%’;
日誌檔案包括:錯誤日誌、二進位制日誌、慢查詢日誌、查詢日誌
這些日誌檔案可以幫助DBA對MySQL資料庫的執行狀態進行判斷,從而進行資料庫層面的優化。
一、錯誤日誌
錯誤日誌檔案對MySQL的啟動、執行、關閉過程進行了記錄。DBA遇到問題時,應首先通過命令:
SHOW VARIABLES LIKE 'log_error';
來定位錯誤日誌檔案。預設情況下日誌名為伺服器的主機名。
二、慢查詢日誌
1、 可幫助DBA定位可能存在問題的SQL語句,從而進行SQL語句層面的優化。
例如:可以在MySQL啟動時設一個閾值,將執行時間超過該閾值的所有SQL語句都記錄到慢查詢日誌檔案中,DBA每隔一段時間對其進行檢查,確認有SQL語句需要進行優化,該閾值可以通過:long_query_time來設定,預設為10秒(大於10秒被記錄)。預設情況下,MySQL資料庫不啟動慢查詢日誌。
2、 還有一個引數log_queries_not_using_indexes可以記錄沒有使用索引的SQL語句。
當越來越多的SQL查詢被記錄到慢查詢日誌檔案中,為了簡單直觀可使用MySQL資料庫提供的 mysqldumpslow命令,可以很好的解決問題:
例如:使用者需要得到執行時間最長的10條SQL語句,可以執行如下命令
mysqldumpslow -s all -n 10 david.log
3、MySQL5.1開始講慢查詢放入slow.log表中,引數log_output指定了慢查詢輸出的格式,預設為FILE,可以設定為 TABLE ,就可以查詢MySQL架構下的clow.log表了。
引數log_output是動態的,並且是全域性的,因此使用者可以線上進行修改。
4、slow.log表儲存引擎預設為CSV引擎,對大資料量下的查詢效率可能不高,可以轉換為MyISAM引擎。
三、查詢日誌
查詢日誌記錄了所有對MySQL資料庫請求的資訊,無論這些請求是否得到了正確的執行。預設檔名為:主機名.log
如檢視一個查詢日誌:
tail 主機名.log
四、二進位制日誌
1、二進位制日誌檔案記錄了所有對MySQL資料庫進行更改的所有操作,當然不包括查詢這類操作。
通過命令:
SHOW BINLOG EVENT
2、二進位制日誌主要有以下幾種作用:
①恢復:例如在一個資料庫全備檔案恢復後,使用者可以通過二進位制檔案進行point-in-time的恢復
②複製:其原理與恢復類似,通過複製和執行二進位制日誌使一臺遠端的MySQL資料庫(一般為slave 或 standby )與一臺MySQL資料庫(一般為master 或 primary)進行實時同步。
③審計:使用者可以通過二進位制日誌中的資訊進行審計,判斷是否有對資料庫進行注入的攻擊。
3、通過配置引數log-bin [=name] 可以啟動二進位制日誌(name 預設Wie主機名,字尾為二進位制日誌的序列號,所在路徑在資料庫所在目錄的 datadir )。
4、二進位制日誌檔案在預設情況下並沒有啟動
相關文章
- Mysql技術內幕之InnoDB鎖探究MySql
- 【MySQL日誌】MySQL日誌檔案初級管理MySql
- Mysql技術內幕InnoDB儲存引擎讀書筆記--《三》檔案MySql儲存引擎筆記
- MySQL InnoDB日誌檔案配置MySql
- MySQL 日誌檔案 說明MySql
- [Mysql技術內幕]Innodb儲存引擎MySql儲存引擎
- MySQL技術內幕:InnoDB儲存引擎MySql儲存引擎
- 探究MySQL中的日誌檔案MySql
- mysql的日誌檔案詳解MySql
- WebKit技術內幕WebKit
- mysql 主從日誌檔案mysql-bin檔案清除方法MySql
- 《MySQL技術內幕:InnoDB儲存引擎》連載MySql儲存引擎
- MySQL資料庫中的日誌檔案---(4)配置日誌檔案輸出路徑MySql資料庫
- mysql 日誌之錯誤日誌MySql
- 【Oracle日誌】- 日誌檔案重建Oracle
- 日誌檔案
- MySQL資料庫中的日誌檔案---(1)錯誤日誌MySql資料庫
- mysql 日誌之普通查詢日誌MySql
- MySQL技術內幕 InnoDB儲存引擎 第2版MySql儲存引擎
- Mysql技術內幕——表&索引演算法和鎖MySql索引演算法
- Mysql慢查詢日誌檔案轉ExcelMySqlExcel
- secureCRT螢幕日誌儲存到指定檔案的配置方法Securecrt
- 日誌檔案和歸檔日誌檔案的關係以及如何切換日誌
- MySQL資料庫中的日誌檔案---(3)慢查詢日誌MySql資料庫
- MySQL資料庫中的日誌檔案---(2)普通查詢日誌MySql資料庫
- ShowMeBug 核心技術內幕
- 讀《etcd 技術內幕》
- 揭祕《Arduino技術內幕》UI
- 刪除日誌檔案組與日誌檔案成員
- Mysql技術內幕InnoDB儲存引擎--《九》效能調優MySql儲存引擎
- 管理日誌檔案
- dump日誌檔案
- APACHE日誌檔案Apache
- [技術分享]日誌切割(按天切割日誌)
- MySQL提升筆記(3)日誌檔案詳解MySql筆記
- MySQL中的幾類日誌檔案介紹MySql
- 控制檔案/歸檔日誌
- 增加日誌檔案,修改當前日誌檔案大小