在Ubuntu上管理MySQL日志可以通過以下幾種技巧進行:
/var/log/mysql/error.log。你可以使用 sudo tail -f /var/log/mysql/error.log 命令實時查看錯誤日志。/var/log/mysql/mysql-query.log。要啟用通用查詢日志,可以編輯MySQL配置文件 /etc/mysql/my.cnf,在 [mysqld] 部分添加或修改 general-log 選項:[mysqld]
general-log = 1
general-log-file = /path/to/your/custom/query.log
然后重啟MySQL服務:sudo systemctl restart mysql。SET GLOBAL slow_query_log 'ON';
SET GLOBAL long_query_time 2; -- 設置慢查詢時間閾值,單位為秒
SET GLOBAL slow_query_log_file '/var/log/mysql/slow-queries.log';
然后可以使用 sudo tail -f /var/log/mysql/slow-queries.log 命令實時查看慢查詢日志。SHOW BINARY LOGS; 然后,查看某個具體的二進制日志文件,例如:sudo mysqlbinlog /var/log/mysql/mysql-bin.000001。使用Logrotate是一個強大的日志管理工具,可以自動輪轉、壓縮、刪除和發送日志文件。默認情況下,Logrotate會每天運行一次,對 /var/log/mysql 目錄下的日志文件進行輪轉。你可以編輯 /etc/logrotate.d/mysql 配置文件來自定義輪轉規則。
/var/log/journal/ 目錄下??梢允褂靡韵旅钋謇砣罩荆?sudo journalctl --vacuum-time=1wsudo journalctl --vacuum-size=500M使用pt-query-digest是一個強大的工具,用于分析MySQL查詢日志、慢查詢日志和二進制日志。你可以通過以下命令安裝:sudo apt-get install percona-toolkit,然后使用 pt-query-digest 分析慢查詢日志:pt-query-digest /var/log/mysql/slow.log。
在MySQL配置文件 /etc/mysql/my.cnf 中,可以通過 log-error 和 general-log-file 參數指定錯誤日志和通用查詢日志的位置。還可以通過 expire_logs_days 參數設置二進制日志的自動清理。