修改 /etc/my.cnf 的 log-error 無效,MySQL 仍寫入 /var/log/mysqld.log。
MySQL 啟動腳本 /etc/init.d/mysqld 以參數形式傳遞日誌路徑,**啟動參數優先級高於配置檔**。
查看進程證實:
ps aux | grep mysqld
# /usr/bin/mysqld_safe --log-error=/var/log/mysqld.log ...
編輯 /etc/init.d/mysqld,找到:
get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"
errlogfile="$result"
修改為目標路徑,如:
get_mysql_option mysqld_safe log-error "/data/logs/mysql/error.log"
errlogfile="$result"
[mysqld]
log-error = /data/logs/mysql/error.log
systemctl restart mysqld
# 或
/etc/init.d/mysqld restart
ls -l /data/logs/mysql/error.log # 確認新日誌產生
| 參數 | 腳本變數 | 配置檔參數 |
|---|---|---|
| PID 檔 | pid-file | |
| Socket | socket | |
| 資料目錄 | datadir |
**原則:若配置檔修改不生效,檢查啟動腳本/系統服務單元是否以參數覆蓋。**