萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 啟用與查看各類日誌完整配置指南

五大日誌類型對照

日誌類型參數用途建議
錯誤日誌log_error啟動/關閉/嚴重錯誤/崩潰堆疊**必開**,預設開啟
通用查詢日誌general_log所有連線與 SQL 語句僅開發/排查開啟
慢查詢日誌slow_query_log超時/無索引查詢**生產必開**
二進制日誌log_bin復制、時間點恢復、審計主庫/復制環境必開
中繼日誌relay_log從庫儲存主庫 Binlog從庫自動管理

配置檔位置

  • Linux:/etc/my.cnf 或 /etc/mysql/my.cnf
  • Windows:my.ini (MySQL 安裝目錄或 C:\Windows\)

Linux 完整配置範例

[mysqld]
# 錯誤日誌
log_error = /var/log/mysql/error.log

# 通用查詢日誌
general_log = 1
general_log_file = /var/log/mysql/general.log

# 慢查詢日誌
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
log_queries_not_using_indexes = 1

# 二進制日誌
log_bin = /var/log/mysql/binlog
binlog_format = ROW
expire_logs_days = 14
max_binlog_size = 100M

# 確保目錄存在且屬主 mysql:mysql
# mkdir -p /var/log/mysql && chown mysql:mysql /var/log/mysql

Windows 配置範例

[mysqld]
log_error = "E:/mysql/logs/error.log"
general_log = 1
general_log_file = "E:/mysql/logs/general.log"
slow_query_log = 1
slow_query_log_file = "E:/mysql/logs/slow.log"
long_query_time = 2
log_bin = "E:/mysql/logs/binlog"
binlog_format = ROW
expire_logs_days = 14

動態管理 (無需重啟)

-- 通用日誌
SET GLOBAL general_log = ON;
SET GLOBAL general_log = OFF;

-- 慢查詢日誌
SET GLOBAL slow_query_log = ON;
SET GLOBAL long_query_time = 1.5;

-- 二進制日誌 (需重啟)
-- 僅能在配置檔修改

查看日誌狀態

SHOW VARIABLES LIKE 'log_%';
SHOW VARIABLES LIKE 'slow_query_log%';
SHOW MASTER STATUS;           -- 當前 Binlog 文件/位置
SHOW MASTER LOGS;             -- 所有 Binlog 列表

查看二進制日誌內容

# 命令列
mysqlbinlog /var/log/mysql/binlog.000001
mysqlbinlog /var/log/mysql/binlog.000001 | tail -20

# 解析特定時間區間
mysqlbinlog --start-datetime='2024-01-15 10:00:00' --stop-datetime='2024-01-15 11:00:00' \
  /var/log/mysql/binlog.000001

日誌輪轉 (logrotate)

/var/log/mysql/*.log {
    daily
    rotate 14
    compress
    delaycompress
    missingok
    notifempty
    create 640 mysql mysql
    sharedscripts
    postrotate
        mysqladmin flush-logs > /dev/null 2>&1 || true
    endscript
}

**最佳實踐:錯誤日誌+慢查詢日誌+二進制日誌三劍客長期開啟,通用日誌按需短期開啟,統一存放專用目錄並配置輪轉。**

copyright © 萬盛學電腦網 all rights reserved