首頁 >資料庫 >mysql教程 >mysql的日誌檔是哪個

mysql的日誌檔是哪個

青灯夜游
青灯夜游原創
2022-06-13 18:19:054732瀏覽

mysql有四種日誌文件:1、二進位日誌文件,該日誌文件會以二進位的形式記錄資料庫的各種操作,但不記錄查詢語句;2、錯誤日誌文件,主要記錄MySQL伺服器啟動和停止過程中的信息、伺服器在運行過程中發生的故障和異常情況等;3、通用查詢日誌文件,記錄伺服器的啟動和關閉資訊、客戶端的連接資訊、更新、查詢資料記錄的SQL語句等;4、慢查詢日誌文件,主要記錄執行事件超過指定時間的操作。

mysql的日誌檔是哪個

本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。

日誌是資料庫的重要組成部分,主要用來記錄資料庫的運作情況、日常操作和錯誤訊息。

在MySQL 中 ,日誌檔案可以分為4 種:二進位日誌檔案、錯誤日誌檔案、通用查詢日誌檔案和慢查詢日誌檔案。

  • 二進位日誌檔案:此日誌檔案會以二進位的形式記錄資料庫的各種操作,但不記錄查詢語句。主要用於記錄資料庫的變更情況,即 SQL 語句的 DDL 和 DML 語句,不包含資料記錄查詢操作。

  • 錯誤日誌檔案:主要記錄 MySQL 伺服器啟動和停止過程中的資訊、伺服器在執行過程中發生的故障和異常情況等。

  • 通用查詢日誌檔案:此日誌記錄 MySQL 伺服器的啟動和關閉資訊、客戶端的連線資訊、更新、查詢資料記錄的 SQL 語句等。

  • 慢查詢日誌檔案:記錄執行事件超過指定時間的操作,透過工具分析慢查詢日誌可以定位 MySQL 伺服器效能瓶頸所在。

在 MySQL 所支援的日誌檔案裡,除了二進位日誌檔案外,其它日誌檔案都是文字檔案。預設情況下,MySQL 只會啟動錯誤日誌文件,而其它日誌則需要手動啟動。

使用日誌有優點也有缺點。啟動日誌後,雖然可以對 MySQL 伺服器效能進行維護,但會降低 MySQL 的執行速度。例如,在一個查詢操作比較頻繁的 MySQL 中,記錄通用查詢日誌和慢查詢日誌要花很多的時間。

日誌檔案也會佔用大量的硬碟空間。對於使用者量非常大、操作非常頻繁的資料庫,日誌檔案所需的儲存空間甚至比資料庫檔案所需的儲存空間還要大。因此,是否啟動日誌,啟動什麼類型的日誌要根據特定的應用來決定。

擴充功能:MySQL使用二進位日誌還原資料庫

二元日誌中記錄了使用者對資料庫變更的所有操作,如INSERT 語句、UPDATE 語句、CREATE 語句等。如果資料庫因為操作不當或其它原因丟失了數據,可以透過二進位日誌來查看在一定時間段內用戶的操作,結合資料庫備份來還原資料庫。

下面將詳細介紹使用二進位日誌還原資料庫的方法。

資料庫遭到意外損壞時,應該先使用最近的備份檔案來還原資料庫。另外備份之後,資料庫可能進行了一些更新,這時可以使用二進位日誌來還原。因為二進位日誌中儲存了更新資料庫的語句,如 UPDATE 語句、INSERT 語句等。

二進位日誌還原資料庫的指令如下:

mysqlbinlog filename.number | mysql -u root -p

以上指令可以理解成,先使用mysqlbinlog 指令來讀取filename.number 中的內容,再使用mysql 指令將這些內容還原到資料庫中。

技巧:二進位日誌雖然可以用來還原 MySQL 資料庫,但是其佔用的磁碟空間也是非常大的。因此,在備份 MySQL 資料庫之後,應該刪除備份之前的二進位日誌。如果備份之後發生異常,造成資料庫的資料損失,可以透過備份之後的二進位日誌進行還原。

使用 mysqlbinlog 指令進行還原作業時,必須是編號(number)小的先還原。例如,mylog.000001 必須在 mylog.000002 之前還原。

範例 1

以下使用二進位日誌來還原資料庫,程式碼如下:

mysqlbinlog mylog.000001 | mysql -u root -p
mysqlbinlog mylog.000002 | mysql -u root -p
mysqlbinlog mylog.000003 | mysql -u root -p
mysqlbinlog mylog.000004 | mysql -u root -p

【相關推薦:mysql影片教學

以上是mysql的日誌檔是哪個的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn