MySQL 基礎:如何啟用 MySQL/MariaDB 查詢日志
在這個簡短易懂的指南中,我們介紹了如何啟用MySQL/MariaDB查詢日志并將查詢保存到文件中。
使用數據庫時,開發人員經常想知道幕后發生的事情。無論是用于故障排除、性能調整還是純粹出于好奇。
通用查詢日志仍然是 MySQL/MariaDB 數據庫中最流行的審計和診斷信息來源之一。啟用日志記錄后,數據庫服務器會在客戶端連接或斷開連接時將信息寫入日志文件,并記錄每條 SQL 語句。
但是,請記住,啟用通用查詢日志會影響 MySQL/MariaDB 性能。這將使吞吐量降低約 13%,并將 MySQL/MariaDB 服務器的響應時間增加約 17%。
現在我們開始吧,這個過程非常簡單。
啟用 MySQL/MariaDB 常規查詢日志
在 MySQL/MariaDB 中,一般查詢日志默認是禁用的。
1、以 root 身份進入 MySQL/MariaDB 服務器命令行工具:
mysql -u root -p
2、通過執行以下查詢設置通用日志文件路徑/var/logs/mysql/general-query.log。
SET GLOBAL general_log_file='/var/log/mysql/general-query.log';
默認情況下,通用查詢日志寫入保存數據庫子目錄本身(通常為 /var/lib/mysql)的同一數據目錄中,日志文件名默認為主機名。但是,如您所見,這是可以更改的。
3、啟用服務器通用日志:
SET GLOBAL general_log = 1;
讓我們再次檢查一下 MySQL/MariaDB 通用查詢日志狀態:
SHOW VARIABLES LIKE "general_log%";
就這樣。從這里開始,您可以 從命令行sudo tail -f 對general-query.log文件執行類似的操作并密切關注。
完成檢查后,您可以禁用 MySQL/MariaDB 查詢日志記錄,如下所示:
SET GLOBAL general_log = 0;
在生產服務器上打開日志記錄當然是不可取的。所以請注意這一點,日志文件會很快變大。
如果您不想直接運行查詢,您仍然可以通過直接修改 MySQL/MariaDB 配置文件來啟用 MySQL/MariaDB 查詢日志記錄,但請記住,這種方法需要重新啟動數據庫服務器。
結論
當你懷疑客戶端出現錯誤并想確切了解客戶端發送到數據庫的內容時,一般的 MySQL/MariaDB 查詢日志會非常有用。因此,如果您對數據庫有一些錯誤或問題,可以通過打開此日志來跟蹤問題的一種方法,并檢查正在發生的事情。
您可以在此處和此處閱讀有關啟用通用 MySQL/MariaDB 查詢日志的更多信息。