在 mysql 中,有 4 種不同的日誌,分別是錯誤日誌、二進位制日誌、查詢日誌和慢查詢日誌。
錯誤日誌記錄了 mysql 啟動和停止時以及伺服器在執行過程中發生嚴重錯誤時的相關資訊。
mysql>show variables like'log_error%';
+---------------+---------------+| variable_name | value |
+---------------+---------------+
| log_error | .\huey-pc.err |
+---------------+---------------+
# error logging.log-error="huey-pc.err"
錯誤檔案為普通的文字檔案,可直接檢視。
二進位制日誌記錄了所有的 ddl(資料定義語言)語句和 dml(資料操縱語言)語句,但是不包括資料查詢語句。
mysql>show variables like'log_bin%';
+---------------------------------+-------+| variable_name | value |
+---------------------------------+-------+
| log_bin | off |
| log_bin_basename | |
| log_bin_index | |
| log_bin_trust_function_creators | off |
| log_bin_use_v1_row_events | off |
+---------------------------------+-------+
# binary logging.log-bin="huey-pc-bin"
儲存 my.ini 更改,重啟 mysql 服務。
使用 mysqlbinlog 工具來檢視二進位制日誌的內容:
d:\programdata\mysql\mysql server 5.6\data>mysqlbinlog huey-pc-bin.000001
清除所有日誌(不存在主從複製關係):
mysql>reset master;
清除指定日誌之前的所有日誌:
mysql>purge master logs to'huey-pc-bin.000005
';
清除某一時間點前的所有日誌:
mysql>purge master logs before '2015-01-01 00:00:00
';
清除 n 天前的所有日誌:
mysql>purge master logs before current_date- interval 10
day;
在 my.ini 中配置 expire_logs_days 引數指定二進位制日誌的有效天數,mysql 會自動刪除過期的二進位制日誌。expire_logs_days 設定在伺服器啟動或者 mysql 切換二進位制日誌時生效,因此,如果二進位制日誌沒有增長和切換,伺服器不會清除老條目。
# 二進位制日誌的有效天數expire_logs_days = 5
預設情況下查詢日誌是關閉的。查詢日誌記錄了客戶端的所有操作,而二進位制日誌不記錄只查詢資料的語句。在併發環境易產生大量日誌資訊而導致大量磁碟 i/o,影響 mysql 的效能,通常情況下不建議啟用查詢日誌。
mysql>show variables like'general_log%';
+------------------+-------------+| variable_name | value |
+------------------+-------------+
| general_log | on |
| general_log_file | huey-pc.log |
+------------------+-------------+
# general logging.:log-output=file
general-log=1
general_log_file="huey-pc.log"
儲存 my.ini 更改,重啟 mysql 服務。
# general logging.log-output=none
general-log=0
general_log_file="huey-pc.log"
儲存 my.ini 更改,重啟 mysql 服務。
慢查詢日誌記錄了所有執行時間超過 long_query_time 秒的 sql 語句。
mysql>show variables like'slow_query_log%';
+---------------------+------------------+| variable_name | value |
+---------------------+------------------+
| slow_query_log | off |
| slow_query_log_file | huey-pc-slow.log |
+---------------------+------------------+
編輯 my.ini,設定 slow-query-log 引數為 1,同時設定 log-output 引數(日誌輸出型別)、slow-query-log_file 引數(慢查詢日誌路徑)和 long_query_time 引數:
# slow logging.log-output=file
slow-query-log=1
slow_query_log_file="huey-pc-slow.log"
long_query_time=10
儲存 my.ini 更改,重啟 mysql 服務。
# slow logging.log-output=none
slow-query-log=0
slow_query_log_file="huey-pc-slow.log"
long_query_time=10
mysql日誌管理
1,錯誤日誌 記錄啟動 執行或停止時出現的問題,一般也會記錄警告資訊。2,一般查詢日誌 記錄建立的客戶端連線和執行的語句。3,慢查詢日誌 記錄所有執行時間超過long query time秒的所有查詢或不使用索引的查詢,可以幫我們定位伺服器效能問題。1,錯誤日誌 錯誤日誌 記錄啟動 執行或停止時出現...
MySQL日誌管理
mysql日誌主要包含 錯誤日誌 一般查詢日誌 慢查詢日誌 二進位制日誌 中繼日誌 事務日誌。1.錯誤日誌 錯誤日誌大概記錄以下幾個方面的資訊 伺服器啟動和關閉過程中的資訊 未必是錯誤資訊,如mysql如何啟動innodb的表空間檔案的 如 何初始化自己的儲存引擎的等等 伺服器執行過程中的錯誤資訊 ...
Mysql 日誌管理
mysql日誌 記錄著mysql資料庫執行期間的操作和資訊 日誌作用 1 當資料庫遭到意外損害,可以通過日誌檔案來查詢出錯原因 2 利用日誌檔案進行資料恢復 日誌分類 1 二進位制日誌 以二進位制檔案的形式記錄了資料庫中的操作,但是不記錄查詢語句 2 錯誤日誌 記錄mysql伺服器的啟動 關閉和執行...