MySQL 提供五大類日誌,支撐故障診斷、審計追蹤、主從複製、效能分析。本文匯總查看啟用狀態、配置輸出路徑、各日誌類型用途與參數的跨平台完整指南。
-- 二進制日誌
SHOW VARIABLES LIKE 'log_bin';
-- 當前 Binlog 文件與位置
SHOW MASTER STATUS;
-- 所有 Binlog 列表
SHOW MASTER LOGS;
# 完整解析
mysqlbinlog mysql-bin.000001
# 僅看尾部
mysqlbinlog mysql-bin.000001 | tail
my.ini(安裝目錄或 C:\Windows\)/etc/my.cnf 或 /etc/mysql/my.cnf編輯 [mysqld] 區段,修改後 systemctl restart mysqld 生效。
記錄啟動、運行、關閉錯誤。建議永久啟用。
# Windows
log-error="E:/wamp/MySql/mysql_log/error.log"
# Linux
log-error=/usr/local/mysql/log/error.log
記錄所有連接與語句。**高負載下嚴禁長期開啟**,極大影響效能與磁碟。
# Windows
log="E:/wamp/MySql/mysql_log/general.log"
# Linux
log=/usr/local/mysql/log/mysql.log
記錄執行超過 long_query_time 秒或未使用索引的查詢。**生產必開**,核心調優依據。
# 通用參數
long_query_time = 2 # 閾值 2 秒,建議 1~2 秒
slow_query_log = 1 # 5.1+ 開關
slow_query_log_file = /path/slow.log
# Windows
log-slow-queries="E:/wamp/MySql/mysql_log/slowquery.log"
# Linux
log-slow-queries=/usr/local/mysql/log/slowquery.log
# 進階:記錄無索引查詢
log-queries-not-using-indexes = 1
記錄所有數據變更,**主從複製必備**,支援 PITR 恢復。
# Windows
log-bin="E:/wamp/MySql/mysql_log/binlog"
# Linux
log-bin=/usr/local/mysql/log/mysql-bin
# 格式建議
binlog_format = MIXED
# 同步策略
sync_binlog = 1
# 過期清理
expire_logs_days = 7
已棄用(5.1+ 移除),完全由 Binlog 替代,勿使用。
[mysqld]
## 通用
basedir=E:/wamp/MySql
datadir=E:/wamp/MySql/data
port=3306
## 日誌
log-error="E:/wamp/MySql/mysql_log/error.log"
log="E:/wamp/MySql/mysql_log/general.log"
long_query_time=2
slow_query_log=1
slow_query_log_file="E:/wamp/MySql/mysql_log/slowquery.log"
log-bin="E:/wamp/MySql/mysql_log/binlog"
binlog_format=MIXED
sync_binlog=1
expire_logs_days=7
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/log/error.log
log=/usr/local/mysql/log/general.log
long_query_time=2
slow_query_log=1
slow_query_log_file=/usr/local/mysql/log/slowquery.log
log-bin=/usr/local/mysql/log/mysql-bin
binlog_format=MIXED
sync_binlog=1
expire_logs_days=7
pt-query-digest 分析。expire_logs_days 自動清理,備份前先 FLUSH LOGS 切換新檔。