MySQL的本地日誌(Binlog)是一種記錄MySQL資料庫所有更改操作的記錄檔,可用於自行搭建主從架構、訂閱資料等。本文介紹如何查看或刪除RDS MySQL執行個體的本地日誌(Binlog)。
本地日誌與記錄備份區別
對比項 | 本地日誌(Binlog) | 記錄備份 |
概述 | 用於自行搭建主從架構、訂閱資料等。 | 開啟記錄備份功能後,本地日誌會即時上傳(複製)到備份空間,形成記錄備份。基於記錄備份,您可以恢複資料到備份保留時間內的任意時間點。更多資訊,請參見RDS MySQL記錄備份。 |
開啟/關閉 | 預設開啟,無法關閉。 | 支援開啟或關閉。 |
費用 | 不涉及費用。 | 開啟記錄備份不收費,備份有免費額度,僅當資料備份和記錄備份的總大小超過免費額度時,收取備份費用。 |
儲存空間 | 佔用執行個體儲存空間。 您可在執行個體基本資料頁面的使用量統計地區查看儲存空間大小。 | 不佔用執行個體儲存空間。 說明 記錄備份存放於備份空間,備份空間不對外開放訪問。您可在執行個體基本資料頁面的使用量統計地區查看記錄備份大小。 |
本地日誌建置規則
RDS MySQL執行個體即時產生本地日誌(Binlog),建置規則取決於執行個體系列:
基礎系列、叢集系列、高可用系列:當一個Binlog檔案的大小超過512 MB,或者寫入超過6小時時,系統會自動切換到下一個序號的Binlog檔案並繼續寫入。
三節點企業系列:當一個Binlog檔案的大小超過512 MB時,系統會自動切換到下一個序號的Binlog檔案並繼續寫入。
Binlog檔案可能小於512 MB,例如由於命令的執行、系統重啟等原因。Binlog檔案可能大於512 MB,例如在執行大事務時,要等到大事務完成才能進行Binlog切換。
查看本地日誌
本地日誌(Binlog)不支援在RDS控制台查看,僅支援通過SHOW BINARY LOGS;
命令查看。更多資訊,請參見雲資料庫RDS MySQL版遠程擷取Binlog日誌並解析Binlog日誌。
查看本地日誌大小
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列選擇監控與報警,查看日誌空間使用量。
說明主節點和從節點的Binlog大小在正常情況下預設是一致的,但由於一些原因(例如,主從延遲、Binlog dump延遲、DTS遷移任務或從節點仍在讀取應用日誌等),可能會導致主、從節點的Binlog大小不一致。
刪除本地日誌
刪除本地日誌會釋放其佔用的本機存放區空間。
刪除本地日誌不會減少記錄備份的大小,也不影響執行個體的按時間點恢複功能(按時間點恢複功能基於記錄備份)。
自動刪除本地日誌
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列選擇備份復原。
選擇備份策略頁簽,編輯本地日誌保留原則,本地日誌被自動刪除的規則如下:
觸發項
觸發條件
預設值
觸發操作
保留時間長度
備份保留時間長度超過設定的保留時間長度。
3小時
超過保留時間長度的本地日誌(Binlog)檔案,當被備份後(需開啟記錄備份功能),會被自動清理。
最大儲存空間佔有率
儲存空間佔有率超過設定的最大儲存空間佔有率。
說明儲存空間佔用率=本地日誌(Binlog)檔案大小/執行個體總可用儲存空間大小。
30%
自動刪除最早的本地日誌(Binlog)檔案,直至空間佔用率低於設定比例。
檔案保留個數
本地記錄檔數超過設定的檔案保留個數。
60
自動刪除最早的本地日誌(Binlog)檔案,直至本地記錄檔數低於設定的檔案保留個數。
可用儲存空間
執行個體總儲存空間佔用率超過80%或者剩餘空間不足5 GB。
-
自動刪除最早的本地日誌(Binlog)檔案,直至總空間佔用率低於80%且剩餘空間大於5 GB。
手動刪除本地日誌
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列選擇備份復原。
單擊一鍵上傳Binlog,並單擊確定。
說明本操作會保留最新的兩個本地日誌(Binlog)檔案並刪除其餘所有本地記錄檔,且該操作有一定延遲,需要等待一段時間才會生效。
RDS執行個體系列為基礎系列時,不支援該操作。
如果本地日誌仍未被刪除,且在日誌管理頁面查看到如下錯誤記錄檔,則可能是因為用戶端故障或存在資料訂閱任務,需要停止相應的任務。
[Warning] file /home/mysql/data3001/mysql/mysql-bin.069435 was not purged because it was being readby thread number 17126285
一鍵上傳Binlog功能會將本地日誌(Binlog)檔案上傳至OSS,保留的天數等於記錄備份保留天數。
(可選)可以登入執行個體,執行
show binary logs;
命令查看本地日誌列表。登入操作,請參見(廢棄,重新導向至“第二步”)通過DMS登入RDS MySQL。(可選)可以在監控與報警頁面查看本地日誌大小。
相關操作
您也可以通過API刪除本地日誌,詳情請參見PurgeDBInstanceLog - 清理或收縮RDS執行個體日誌。
如需開啟和關閉RDS MySQL執行個體的記錄備份,詳情請參見控制台開啟或關閉記錄備份或ModifyBackupPolicy - 修改執行個體備份策略。
更多RDS儲存空間的常見問題,例如儲存空間擴容方法、儲存空間佔用突升排查方法等,請參見儲存空間的常見問題。
常見問題
Q:RDS MySQL的Binlog本地日誌如何開啟?
A:RDS MySQL的本地日誌(Binlog)預設開啟,無法關閉。具體詳情,請參見管理本地日誌(Binlog)。
Q:主、從節點的Binlog檔案大小為什麼會不一致?
A:主、從節點的Binlog大小預設是一致的,但可能存在如下原因導致主、從節點的Binlog大小不一致。
主節點:主從延遲、Binlog dump延遲或DTS遷移任務仍在進行中等。
從節點:從節點仍在讀取應用(apply)日誌。
Q:為什麼我的本地日誌剛產生就被自動刪除了?
A:可能是執行個體的儲存空間使用率已經達到80%或剩餘空間不足5 GB,此時如果本地日誌保留原則中的可用儲存空間是開啟狀態,則本地日誌會被清理。建議手動增加儲存空間或開啟儲存空間自動擴容功能,防止儲存空間滿了以後執行個體被鎖定。