1. mysql資料庫和其儲存引擎innodb的各種類型檔案有:
參數檔案,記錄檔,socket檔案,pid檔案,mysql表結構檔案,儲存引擎檔案
2. 參數檔案
mysql執行個體啟動的時候,會先到設定檔去讀一些參數,用來尋找資料庫的各種檔案所在的位置,以及制定某些初始化參數,這些參數通常是定義記憶體結構多大等設定資訊
可以將參數看成是一個個的索引值對,可以通過show variables 查看所有的參數,或者通過like過濾參數名。
mysql中參數可以分為兩類:動態參數和靜態參數,動態參數在mysql執行個體運行中進行設定,而靜態參數說明在整個mysql 執行個體生命週期中都是不用也不能進行修改的,就好象是唯讀,可以通過set 命令對動態參數進行設定, set read_buffer_size
3. 記錄檔
常見日誌有:錯誤記錄檔,二進位日誌,慢查詢日誌,查詢日誌等
錯誤記錄檔,記錄著mysql啟動,運行,關閉過程中的資訊,在遇到問題時,應該首先查看該錯誤記錄檔檔案,該錯誤記錄檔檔案不但記錄了錯誤資訊,還記錄了一些警告或者正確的資訊,可以通過show variables like 'log_error'來定位該檔案。
4. 慢查詢檔案
慢查詢檔案給最佳化sql 語句帶來好處,可以設定一個閾值,將已耗用時間超過該閾值的所有sql語句記錄到慢查詢日誌中,該閾值可以通過參數long_query_time來設定,預設值為10,表示10s。預設mysql並沒有啟動慢查詢日誌,可以通過set 將其設定
5. 二進位日誌
二進位記錄了對資料庫執行更改的所有操作,但是不包含select和show這類不改變資料庫資料的操作,對於select和show這類不改變資料的查詢,可以使用查詢日誌,二進位日誌主要有兩個作用:1) 恢複,某些資料的恢複需要二進位日誌,如當一個資料庫全備檔案(完全備份的檔案)恢複後,可以通過二進位檔案進行point-in-time的恢複
2) 複製,通過複製和執行二進位檔案使得一台遠端mysql資料庫和另一台資料庫實現即時同步
6. socket檔案
mysql在unix系統下,本地串連mysql可以通過unix域通訊端方式,這個通訊端socket可以通過參數socket控制,一般在/tmp/下,名為 mysql.sock
7. 表結構定義檔案
innodb儲存引擎檔案,包括重做記錄檔和資料表空間檔案