| 日誌類型 | 用途 | 預設狀態 | 關鍵參數 |
|---|---|---|---|
| 錯誤日誌 | 記錄啟動/停止/嚴重錯誤 | 開啟 | log-error |
| 通用查詢日誌 | 記錄所有連線與語句 | 關閉 | log / general_log |
| 二進制日誌 | 記錄所有資料變更,支援復制/時間點恢復 | 關閉 | log-bin, expire_logs_days, max_binlog_size |
| 慢查詢日誌 | 記錄超時/無索引查詢,優化依據 | 關閉 | slow_query_log, long_query_time |
[mysqld]
log-bin = /path/to/binlog
expire_logs_days = 10
max_binlog_size = 100M
log-bin:開啟並指定檔案前綴(如 binlog),實際檔案為 binlog.000001 等。expire_logs_days:自動清理天數,0 為不自動清理。max_binlog_size:單檔上限(4K~1G),超過自動滾動。SHOW BINARY LOGS;:列出所有 binlog 檔案與大小。SHOW BINLOG EVENTS IN 'binlog.000006';:查看特定檔案事件(SQL 語句)。mysqlbinlog binlog.000002 > binlog.txt:命令列工具導出完整內容(含時間戳、事務邊界)。PURGE MASTER LOGS TO 'binlog.000003';:刪除指定檔案之前的所有 binlog。PURGE MASTER LOGS BEFORE '2023-01-01';:刪除指定日期前的 binlog。RESET MASTER;:慎用,刪除所有 binlog 並從 000001 重新編號。mysqlbinlog --stop-datetime="2024-07-02 15:27:48" /path/binlog.000008 | mysql -u user -p
適用場景:誤 DELETE/UPDATE 後,從最後一次備份恢復至事故前一刻。
SET sql_log_bin = 0; -- 當前會話停止寫 binlog
SET sql_log_bin = 1; -- 恢復
適合大量匯入資料、重建索引等不需記錄的操作。
ib_logfile*、表空間)。[mysqld]
log-error = /var/log/mysql/error.log
SHOW VARIABLES LIKE 'log_error'; 確認路徑。tail -f 或記事本開啟。.err 檔後,執行 FLUSH LOGS; 或 mysqladmin flush-logs 重建空檔案(5.5.7+ 僅重開檔案,不重命名)。[mysqld]
log = /var/log/mysql/general.log
# 或 5.1+ 動態開啟
SET GLOBAL general_log = ON;
SET GLOBAL general_log_file = '/var/log/mysql/general.log';
SELECT),高併發下磁碟 IO 極大,**生產環境強烈建議關閉**。FLUSH LOGS 切割。[mysqld]
slow_query_log = ON
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1 # 秒,預設 10s
log_queries_not_using_indexes = ON # 記錄無索引查詢
# Time: 240802 00:02:29
# User@Host: root[root] @ localhost [::1]
# Query_time: 7.578125 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
SET timestamp=1406908949;
SELECT BENCHMARK(10000000, PASSWORD('newpwd'));
Query_time 超過閾值即記錄。long_query_time 最小 1 秒,需微秒級分析可用 Percona microslow-patch 或升級至 MySQL 5.7+(支援微秒)。| 環境 | 建議開啟 | 備註 |
|---|---|---|
| 開發/測試 | 慢查詢、錯誤 | 可暫時開通用查詢除錯 |
| 生產(核心業務) | 二進制、錯誤、慢查詢 | binlog 必開(復制/PITR),慢查詢長期開啟閾值 1~2s |
| 生產(唯讀/從庫) | 錯誤、慢查詢 | 從庫通常不開 binlog(除鏈式復制) |
expire_logs_days 防止撐爆磁碟。pt-query-digest 分析 Top N。