【MySQL】日誌

目錄

15.1  日誌簡介

15.2  二進制日誌,記錄數據庫的變化。

15.2.1  啓動和設置二進制日誌

15.2.2  查看二進制日誌

15.2.3  刪除二進制日誌

15.2.4  使用二進制日誌還原數據庫

15.2.5  暫時停止二進制日誌功能

15.3  錯誤日誌

15.3.1  啓動和設置錯誤日誌

15.3.2  查看錯誤日誌

15.3.3  刪除錯誤日誌

15.4  通用查詢日誌

15.4.1  啓動和設置通用查詢日誌

15.4.2  查看通用查詢日誌

15.4.3  刪除通用查詢日誌

15.5  慢查詢日誌

15.5.1  啓動和設置慢查詢日誌

15.5.2  查看慢查詢日誌

 15.5.3  刪除慢查詢日誌


15.1  日誌簡介

MySQL日誌主要分爲4類

● 錯誤日誌,記錄MySQL服務的啓動、運行或停止MySQL服務時出現的問題。

● 查詢日誌,記錄建立的客戶端連接和執行的語句。

● 二進制日誌,記錄所有更改數據的語句。可以用於數據複製。

● 慢查詢日誌,記錄所有執行時間超過long_query_time秒的所有查詢或不使用索引的查詢。

查詢頻繁的數據開開啓慢查詢和通用查詢日誌,會花費很多時間記錄日誌,降低數據庫的性能和磁盤空間。

 

15.2  二進制日誌,記錄數據庫的變化。

15.2.1  啓動和設置二進制日誌

默認情況下,二進制日誌是關閉的。可以通過修改MySQL的配置文件來啓動和設置二進制日誌。my.ini中[mysqld]組下面有幾個設置是關於二進制日誌的:

[mysqld]

       log-bin [=path/ [filename] ]

       expire_logs_days = 10 定期清除過期日誌的時間,自動刪除的天數。

       max_binlog_size = 100M

啓動後show variables查詢日誌設置

 

15.2.2  查看二進制日誌

show binary logs語句可以查看當前的二進制日誌文件個數及其文件名。

MySQL二進制日誌並不能直接查看,如果要查看日誌內容,可以通過mysql bin log命令查看。

 

15.2.3  刪除二進制日誌

1.使用RESET MASTER語句刪除所有二進制日誌。

2.使用PURGE MASTER LOGS語句刪除指定的日誌文件。

Purge { master | binary } logs to ‘log_name’ 刪除比指定編號小的所有日誌;

Purge { master | binary } logs before ‘date’ 刪除指定日期之前的日誌。

 

15.2.4  使用二進制日誌還原數據庫

如果MySQL服務器啓用了二進制日誌,在數據庫出現意外丟失數據時,可以使用mysqlbinlog工具從指定的時間點開始(例如,最後一次備份)直到現在或另一個指定的時間點的日誌中恢復的數據。

Mysqlbinlog [--start-date/--stop-date | --start-position/--stop-position ] log_filename | mysql -uuser =ppass

15.2.5  暫時停止二進制日誌功能

通過SET SQL_LOG_BIN語句可以使用MySQL暫停或者啓動二進制日誌。

暫停二進制日誌:SET sql_log_bin = 0;

恢復二進制日誌 : SET sql_log_bin = 1;

 

15.3  錯誤日誌

15.3.1  啓動和設置錯誤日誌

在默認情況下,錯誤日誌會記錄到數據庫的數據目錄下。如果沒有在配置文件中指定文件名,則文件名默認爲hostname.err。

[mysqld]

       log-error=[path / [file_name] ]

配置好則可以重啓啓動。

15.3.2  查看錯誤日誌

通過錯誤日誌可以監視系統的運行狀態,便於及時發現故障和修復故障。MySQL錯誤日誌是以文本文件形式存儲的,可以使用文本編輯器直接查看MySQL錯誤日誌。可以在mysql.ini配置文件修改位置和名字。

SHOW VARIABLES LIKE 'log_error';

 

15.3.3  刪除錯誤日誌

MySQL的錯誤日誌是以文本文件的形式存儲在文件系統中。可以直接刪除錯誤日誌文件。

mysqladmin -u root -p flush-logs

 

15.4  通用查詢日誌

15.4.1  啓動和設置通用查詢日誌

打開通用查詢日誌,在my.ini(或my.cnf)的[mysqld]組下加入log選項。

[mysqld]

      log[=path / [filename]]

 

15.4.2  查看通用查詢日誌

通用查詢日誌是以文本文件的形式存儲在文件系統中的。可以使用文本編輯器直接打開通用日誌文件進行查看,Windows下可以使用記事本,Linux下可以使用vim和gedit等。

 

15.4.3  刪除通用查詢日誌

可以用直接刪除日誌文件的方式刪除通用查詢日誌。

重新建立新的通用查詢日誌文件:

mysqladmin –u root –p flush-logs或者客戶端flush logs;

15.5  慢查詢日誌

15.5.1  啓動和設置慢查詢日誌

MySQL中慢查詢日誌默認是關閉的,可以通過配置文件my.ini或者my.cnf中的log-slow-queries選項打開,也可以在MySQL服務啓動的時候使用--log-slow-queries[=file_name]啓動慢查詢日誌。

[mysqld]

       log-slow-queries[=path / [filename] ]

 

15.5.2  查看慢查詢日誌

MySQL的慢查詢日誌是以文本形式存儲的,可以直接使用文本編輯器查看。

 15.5.3  刪除慢查詢日誌

慢查詢日誌也可以直接刪除。刪除後在不重啓服務器的情況下。

重新生成慢查詢日誌文件:

mysqladmin –u root –p flush-logs

flush logs

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章