我每天晚上都會在我的MYSQL中發生一些事件,而且我不確定發生了什麼,因爲即使我早於其他事件設置它,它仍然在早晨運行。Mysql事件日誌(監控)
問題是, 我該如何檢查跑步事件的歷史記錄或日誌, 哪一個在晚上被鎖定或者哪一個跑了不跑?
謝謝
我每天晚上都會在我的MYSQL中發生一些事件,而且我不確定發生了什麼,因爲即使我早於其他事件設置它,它仍然在早晨運行。Mysql事件日誌(監控)
問題是, 我該如何檢查跑步事件的歷史記錄或日誌, 哪一個在晚上被鎖定或者哪一個跑了不跑?
謝謝
您可以啓用慢查詢日誌在MySQL服務器,以便登錄在文件或MySQL錶慢查詢。遵循以下步驟:
檢查是否爲您的MySQL服務器啓用了慢查詢日誌。在MySQL服務器上執行這些查詢。
mysql> show global variables like "%slow_query_log%"; +---------------------+----------------------------------+ | Variable_name | Value | +---------------------+----------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /var/lib/mysql/siddhant-slow.log | +---------------------+----------------------------------+ 2 rows in set (0.00 sec)
如果沒有啓用慢查詢日誌,啓用它是這樣的。(或者你可以在my.cnf或my.ini的MySQL配置文件中啓用它)
mysql> set global slow_query_log="ON"; Query OK, 0 rows affected (0.01 sec)
還要檢查長查詢運行時間,即將查詢視爲慢查詢所用的時間。比此值更多時間的查詢將記錄在慢速查詢日誌中。
mysql> show global variables like "%long_query%"; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set (0.00 sec)
這個值,如下所示設置爲您的要求。(在這裏我將它設置爲兩秒)
mysql> set global long_query_time=2; Query OK, 0 rows affected (0.00 sec)
現在慢查詢將在記錄查詢返回的較慢的查詢日誌文件路徑。我的要求是這樣的,我需要實時監控MySQL,你可以看看這個商業GUI MySQL- Monitoring Tool。它實時分析慢速查詢日誌。