mysql日誌檔名稱 MySQL 日誌檔案

2021-10-18 11:30:17 字數 2082 閱讀 1159

重做日誌(redo log)

內容:物理格式的日誌,記錄的是物理資料頁面的修改的資訊,其redo log是順序寫入redo log file的物理檔案中去的。

作用:確保事務的永續性。redo日誌記錄事務執行後的狀態,用來恢復未寫入data file的已成功事務更新的資料。防止在發生故障的時間點,尚有髒頁未寫入磁碟,在重啟mysql服務的時候,根據redo log進行重做,從而達到事務的永續性這一特性。

產生:事務開始之後就產生redo log,redo log的落盤並不是隨著事務的提交才寫入的,而是在事務的執行過程中,便開始寫入redo log檔案中。

釋放:當對應事務的髒頁寫入到磁碟之後,redo log的使命也就完成了,重做日誌占用的空間就可以重用(被覆蓋)。

回滾日誌(undo log)

內容:邏輯格式的日誌,在執行undo的時候,僅僅是將資料從邏輯上恢復至事務之前的狀態,而不是從物理頁面上操作實現的,這一點是不同於redo log的。

作用:保證資料的原子性,儲存了事務發生之前的資料的乙個版本,可以用於回滾,同時可以提供多版本併發控制下的讀(mvcc),也即非鎖定讀。

產生:事務開始之前,將當前是的版本生成undo log,undo 也會產生 redo 來保證undo log的可靠性。

釋放:當事務提交之後,undo log並不能立馬被刪除,而是放入待清理的鍊錶,由purge執行緒判斷是否由其他事務在使用undo段中表的上乙個事務之前的版本資訊,決定是否可以清理undo log的日誌空間。

二進位制日誌(binlog)

內容:邏輯格式的日誌,可以簡單認為就是執行過的事務中的sql語句。但又不完全是sql語句這麼簡單,而是包括了執行的sql語句(增刪改)反向的資訊,也就意味著delete對應著delete本身和其反向的insert;update對應著update執行前後的版本的資訊;insert對應著delete和insert本身的資訊。

作用:用於複製,在主從複製中,從庫利用主庫上的binlog進行重播,實現主從同步。

用於資料庫的基於時間點的還原。

產生:事務提交的時候,一次性將事務中的sql語句(乙個事物可能對應多個sql語句)按照一定的格式記錄到binlog中。這裡與redo log很明顯的差異就是redo log並不一定是在事務提交的時候重新整理到磁碟,redo log是在事務開始之後就開始逐步寫入磁碟。因此對於事務的提交,即便是較大的事務,提交(commit)都是很快的,但是在開啟了bin_log的情況下,對於較大事務的提交,可能會變得比較慢一些。

釋放:binlog的預設是保持時間由引數expire_logs_days配置,也就是說對於非活動的日誌檔案,在生成時間超過expire_logs_days配置的天數之後,會被自動刪除

中繼日誌

relay log,主從複製時使用的日誌

錯誤日誌

錯誤日誌記錄著mysqld啟動和停止,以及伺服器在執行過程中發生的錯誤的相關資訊。在預設情況下,系統記錄錯誤日誌的功能是關閉的,錯誤資訊被輸出到標準錯誤輸出。

普通查詢日誌

記錄了伺服器接收到的每乙個查詢或是命令,無論這些查詢或是命令是否正確甚至是否包含語法錯誤,general log 都會將其記錄下來 ,記錄的格式為 。也正因為mysql伺服器需要不斷地記錄日誌,開啟general log會產生不小的系統開銷。 因此,mysql預設是把general log關閉的。

慢查詢日誌

慢日誌記錄執行時間過長和沒有使用索引的查詢語句。

2. 檢視慢查詢配置情況:show status like 「%slow_queries%」;

3. 檢視慢查詢日誌路徑:show variables like 「%slow%」;

4. 開啟慢日誌

檢視已經開啟:

php遍歷資料夾檔名稱,並更改檔名稱

function list file date echo a 把資料夾紅名輸出 list file a 因為是資料夾所以再次呼叫自己這個函式,把這個資料夾下的檔案遍歷出來 else var dump info echo file name list file f myoa function list...

批量修改檔名稱

批量修改檔名稱時可以利用批處理bat來寫,公式為 ren空格原檔名稱空格新檔名稱 以下講解將含有相同內容的檔名稱改為只含有不同內容的名稱。為了構成這個公式,首先要提取原檔名稱,可以寫bat檔案dir b mp4 b.txt 即可讀出以.mp4位字尾的檔名稱,字尾可修改,儲存位置為b.txt,儲存格式...

Qt 修改檔名稱

qtcreator 中建立的 qt designer form class 包含三個檔案 h,cpp,ui,例如我們建立了乙個 form classwidget,則包含下面三個檔案 widget.h,widget.cpp,widget.ui,其中的類名為 widget,如果想要把其重新命名為mywi...