MySQL日志筆記
1、MySQL日志比較
日志文件
文件中的信息
作用
錯誤日志
記錄啟動、運行或停止mysqld時出現的問題。
系統故障時定位故障原因
查詢日志
記錄建立的客戶端連接和執行的語句。
記錄數據庫發生的所有操作
二進制日志
記錄所有更改數據的語句。
數據庫數據備份和復制
慢日志 www.2cto.com
記錄所有執行時間超過long_query_time秒的所有查詢或不使用索引的查詢。
定位系統性能問題,查找有性能問題的SQL語句
2、錯誤日志
作用:錯誤日志文件包含了當mysqld啟動和停止時,以及服務器在運行過程中發生任何嚴重錯誤時的相關信息。
使用:可以用--log-error[=file_name]選項來指定mysqld保存錯誤日志文件的位置。如果沒有給定file_name值,mysqld使用錯誤日志名host_name.err(host_name為主機名)並在數據目錄(DATADIR)中寫入日志文件。
清理:如果你執行FLUSHLOGS,錯誤日志用-old重新命名後綴並創建一個新的空日志文件:
shell>mv hostname.err hostname-old.err
shell>mysqladmin flush-logs
shell>cp hostname-old.errto-backup-directory
shell>rm hostname-old.err
3、查詢日志
作用:查詢日志記錄了客戶端的所有連接和語句(二進制日志不包括查詢語句。)當你想確切地知道該客戶端發送給mysqld的語句時,該日志可能非常有用。
使用:可以用--log[=file_name]或-l [file_name]選項啟動mysqld的查詢日志服務。如果沒有給定file_name的值,默認名是host_name.log。
建議:不要打開此日志,以免影響系統整體性能。
清理:同錯誤日志。 www.2cto.com
4、慢速查詢日志
作用:慢查詢日志記錄所有執行時間超過long_query_time秒的SQL語句的日志文件。獲得初使表鎖定的時間不算作執行時間。
使用:可以用--log-slow-queries[=file_name]選項啟動,如果沒有給出file_name值,默認為host_name-slow.log。如果給出了文件名,但不是絕對路徑名,文件則寫入數據目錄。
查看:使用mysqldumpslow命令獲得日志中顯示的查詢摘要來處理慢查詢日志。
清理:同錯誤日志。
5、二進制日志
作用:二進制日志記錄所有更新了數據或者已經潛在更新了數據(例如,沒有匹配任何行的一個DELETE)的所有語句。二進制日志的主要目的是在恢復使能夠最大可能地更新數據庫,因為二進制日志包含備份後進行的所有更新,還用於在主復制服務器上記錄所有將發送給從服務器的語句。
使用:可以用--log-bin[=file_name]選項啟動。如果未給出file_name值,默認名為-bin後面所跟的主機名。如果給出了文件名,但沒有包含路徑,則文件被寫入數據目錄(DATADIR)。如果你在日志名中提供了擴展名(例如,--log-bin=file_name.extension),則擴展名被悄悄除掉並忽略。
清理:執行mysqladminflush-logs然後刪除三天前的所有日志。手動刪除可以使用PURGE MASTER LOGS,該語句還會安全地更新二進制日志索引文件(可以采用日期參數)。自動刪除可以選擇設置--expire_logs_days=day,day天以前的數據會自動刪除。 www.2cto.com
其他:mysqld在每個二進制日志名後面添加一個數字擴展名。每次你啟動服務器或刷新日志時該數字則增加。如果當前的日志大小達到max_binlog_size,還會自動創建新的二進制日志。如果你正使用大的事務,二進制日志還會超過max_binlog_size:事務全寫入一個二進制日志中,絕對不要寫入不同的二進制日志中。為了能夠知道還使用了哪個不同的二進制日志文件,mysqld還創建一個二進制日志索引文件,包含所有使用的二進制日志文件的文件名。默認情況下與二進制日志文件的文件名相同,擴展名為'.index'(可以用--log-bin-index[=file_name]選項更改二進制日志索引文件的文件名)。
對於事務表,由於在執行完COMMIT之前,mysqld將整個事務寫入二進制日志。當處理事務的線程啟動時,它為緩沖查詢分配binlog_cache_size大小的內存。如果語句大於該值,線程則打開臨時文件來保存事務。線程結束後臨時文件被刪除。將binlog_cache_size調節到足夠大的值,可以避免使用臨時文件。(注:Binlog_cache_use狀態變量顯示了緩沖區保存語句的事務的數量。Binlog_cache_disk_use狀態變量顯示了事務中實際上有多少必須使用臨時文件。)
作者 xinhanggebuguake