mysql資料目錄下的常見檔案

myownstars發表於2013-03-04

Mysql採用datadir指定其資料目錄,預設情況下所有資料庫和各種檔案都位於該目錄下,可以透過my.cnf固定

[mysqld]

Datadir=/var/local/mysql/var/

 

Mysql常見檔案分別如下

程式ID檔案

 

錯誤日誌(log_error):預設名為host_name.err,對於出現的錯誤程式碼,可透過perror error_no方式檢視其具體資訊;

如果使用mysqld_safe開啟mysqld,其有3個選項指定錯誤資訊的輸出檔案:--syslog使用syslog--skip-syslog使用預設檔案;--log-error使用錯誤日誌檔案

 

二進位制日誌(log_bin):預設名位pid-bin,記錄資料庫的更改操作,用於replicationrecovery,其還配備有相應的索引檔案;

其大小受限於max_binlog_size(最大1g),單個事務不能跨檔案儲存因此當事務大於該引數設定時相應檔案尺寸會超過該引數;

用於super許可權的使用者可透過 set sql_log_bin=0禁止其執行的語句被記錄入該日誌;

預設情況下二機制日誌不是每次寫都同步到磁碟,如果系統crash可能導致最後提交的幾條語句資訊丟失,可將sync_binlog設定為1,則mysql每次寫都將 二進位制日誌(fdatasync())同步到磁碟 ,最多隻丟失一條語句;

innodbcommit時,先將事務資訊寫入二進位制日誌然後提交事務,如果在兩者中間系統crash,重啟時innodbrollback該事務但該資訊仍存在於二進位制日誌,而innodb_support_xa=1可解決此問題,

innodbcrash重啟時,那些rollback的事務會從binary log中清除,以確保binary log準確的記錄innodb表資料;

binlog_cache_size:快取事務的binary log,每個執行緒都有一個,如果事務快取大於該值則生成臨時檔案;同透過狀態變數binlog_cache_disk_use/binlog_cache_use檢視;

 

sync_binglog=1ext3效能不佳  http://www.mysqlperformanceblog.com/2009/01/21/beware-ext3-and-sync-binlog-do-not-play-well-together/

5.6引入group commit

 

Fsync(int fd)—fd對應檔案的資料和後設資料寫入磁碟

Fdatasync(int fd)—fd對應檔案的資料寫入磁碟,不含後設資料

 

 

慢查詢日誌(slow_query_log):預設名位host_name-slow.log,包含執行時間超過long_query_time(預設10)sql,預設不開啟,可設定slow_query_log=1啟動;

slow_query_log_file決定檔名,而log_output決定檔案路徑;

log_output包含file|table|none選項,用於general日誌和慢查詢日誌,

  none:即便開啟了慢查詢也不會記錄

  file:日誌寫入檔案

  table:將日誌分別記錄入general_log/slow_log

還有一些選項允許定製化:log_queries_not_using_indexes=on,記錄沒有使用索引的sql--log-slow-admin-statements:記錄諸如optimize|analyze tableadmin sql

Min_examined_row_limit:記錄檢查行數超出此限定的sql

Mysqldumpslow用於檢視slow log

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15480802/viewspace-755268/,如需轉載,請註明出處,否則將追究法律責任。

相關文章