溫馨提示×

Ubuntu MySQL日志管理方法

小樊
46
2025-08-01 06:15:04
欄目: 云計算

在Ubuntu上管理MySQL日志可以通過以下幾種技巧進行:

查看和分析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 配置文件來自定義輪轉規則。

清理日志

  • 清理Journal日志:Ubuntu使用systemd作為系統和服務管理器,Journal日志存儲在 /var/log/journal/ 目錄下??梢允褂靡韵旅钋謇砣罩荆?
    • 只保留一周的日志:sudo journalctl --vacuum-time=1w
    • 只保留指定大小的日志:sudo 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-errorgeneral-log-file 參數指定錯誤日志和通用查詢日志的位置。還可以通過 expire_logs_days 參數設置二進制日志的自動清理。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女