MySQL數據庫中,日志文件主要有以下幾種:
- 二進制日志(binlog)
- 錯誤日志(error log)
- 查詢日志(general query log)
- 慢查詢日志(slow query log)
- 中繼日志(relay log)
而在MySQL5.6版本中,日志文件的相關設置可以在my.cnf中進行:
log_bin = /var/log/mysql/mysql-bin.log #開啟二進制日志 log_error = /var/log/mysql/mysql-error.log #開啟錯誤日志 general_log_file = /var/log/mysql/mysql.log #開啟查詢日志 slow_query_log_file = /var/log/mysql/mysql-slow.log #開啟慢查詢日志 relay_log = /var/log/mysql/mysql-relay-bin #開啟中繼日志 expire_logs_days = 10 #設置二進制日志文件的保留天數 max_binlog_size = 100M #設置二進制日志文件的最大大小
其中,binlog記錄的是數據庫的修改操作,而error log記錄的是錯誤信息。查詢日志和慢查詢日志則會記錄數據庫的查詢操作,但慢查詢日志只會記錄查詢時間超過設定時間閾值的查詢。如果開啟了中繼日志,那么主從復制的過程中,中繼日志將記錄與傳輸有關的操作。
在MySQL5.6版本中,我們可以通過如下命令查看日志:
$ tail -100f /var/log/mysql/mysql.log #查看查詢日志 $ tail -100f /var/log/mysql/mysql-slow.log #查看慢查詢日志 $ tail -100f /var/log/mysql/mysql-error.log #查看錯誤日志
需要注意的是,日志文件的過多或過大可能會影響服務器的性能,因此我們需要定期刪除或壓縮舊的日志文件,或者設置expire_logs_days參數來自動刪除舊的二進制日志文件。