MySQL是現在常用的關聯式資料庫管理系統,但隨著資料量的增加和系統的運行,MySQL慢慢變慢,這時候就需要把MySQL中的日誌清除掉,以提高資料庫的性能。
MySQL中主要的日誌有四種:錯誤日誌、慢查詢日誌、二進位日誌、交易日誌。在這四種中,如果要清空,需要注意一些細節。在進行操作之前,最好先進行一次備份。那我們來看看在MySQL中刪除各個日誌的具體操作。
1.刪除錯誤日誌
MySQL的錯誤日誌主要用於記錄出現錯誤時的信息,查看錯誤日誌有助於我們了解系統運行過程中出現的問題。當日誌檔案過大時需要清除,可以透過以下的操作:
1.1 查看錯誤日誌的路徑
在命令列中輸入命令:SHOW VARIABLES LIKE '%log_error%';
會得到下列結果:
Variable_name | Value |
---|---|
##log_error |
#可以看到,mysql的錯誤日誌路徑是/var/log/mysql /error.log。
1.2 清空錯誤日誌
在命令列中輸入指令:echo "" > /var/log/mysql/error.log 。
如果還要確認是否已清空,可以透過以下命令查看是否為空:
##tail -f /var/log/mysql/error.log#2.刪除慢查詢日誌MySQL的慢查詢日誌用於記錄長時間執行的查詢語句,有助於我們了解一些資料庫的效能問題。當日誌檔案過大時需要清除,可以透過以下的操作:2.1 查看慢查詢日誌的路徑在命令列中輸入命令:SHOW VARIABLES LIKE '%slow_query%' ;會得到下列結果:Variable_name | Value |
---|---|
##slow_query_log | |
slow_query_log_file |
在MySQL的設定檔my.cnf中,找到[mysqld]部分,加入如下程式碼行:
##log-bin=mysql-bin #啟用二進位日誌
server-id=1 #MySQLID要將二進位日誌關閉,需要把my.cnf中的log-bin和binlog_format兩項修改或註解掉,重啟MySQL伺服器。
3.2 清空二進位日誌
在不影響主從同步的情況下,可以透過以下的方式清空二進位日誌。
首先,透過以下指令查看二進位日誌的檔案名稱和位置:
SHOW MASTER STATUS;
會得到如下結果:
File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
---|---|---|---|
#mysql-bin.000001 | 107 |
可以看到二進位日誌的位置是107。
然後,透過以下命令清空二進位日誌:
RESET MASTER;
之後再次查看二進位日誌的檔案名稱和位置:
SHOW MASTER STATUS;
可以看到已經重新開始產生新的二進位日誌。
需注意在進行操作時,應確認不會影響MySQL伺服器的正常業務運作。
4.刪除交易日誌
MySQL的交易日誌是InnoDB引擎特有的一種日誌,記錄了MySQL伺服器內每個交易執行的過程,在系統故障後可以根據事務日誌恢復MySQL伺服器的資料。同樣,在進行操作之前,最好先進行一次備份。
4.1 檢視交易日誌檔案
在MySQL的設定檔my.cnf中,找到[mysqld]部分,加入下列程式碼行:
innodb_log_file_size=1024M #設定交易日誌檔案大小
innodb_log_files_in_group=3 #設定交易日誌檔案數
重新啟動MySQL伺服器,這樣交易日誌才會被開啟。若要查看交易日誌路徑,可以在MySQL中執行下列語句:
SHOW VARIABLES LIKE '%innodb_log%';
可以看到InnoDB的交易日誌檔案路徑。
4.2 清空交易日誌
在進行操作之前,最好先進行一次備份,以防錯誤的操作導致資料遺失。
首先需要停止MySQL伺服器,然後刪除掉交易日誌文件,最後重新啟動MySQL伺服器即可。在啟動MySQL伺服器的時候,MySQL會自動重新建立新的交易記錄檔。
以上是在MySQL中刪除各種日誌的操作,需要注意在進行操作之前最好先進行一次備份,以防錯誤操作導致資料遺失。
以上是mysql怎麼刪除log的詳細內容。更多資訊請關注PHP中文網其他相關文章!