MySQL的本地日志(Binlog)是一種記錄MySQL數據庫所有更改操作的日志文件,可用于自行搭建主從架構、訂閱數據等。本文介紹如何查看或刪除RDS MySQL實例的本地日志(Binlog)。
本地日志與日志備份區別
對比項 | 本地日志(Binlog) | 日志備份 |
概述 | 用于自行搭建主從架構、訂閱數據等。 | 開啟日志備份功能后,本地日志會實時上傳(復制)到備份空間,形成日志備份。基于日志備份,您可以恢復數據到備份保留時間內的任意時間點。更多信息,請參見RDS MySQL日志備份。 |
開啟/關閉 | 默認開啟,無法關閉。 | 支持開啟或關閉。 |
費用 | 不涉及費用。 | 開啟日志備份不收費,備份有免費額度,僅當數據備份和日志備份的總大小超過免費額度時,收取備份費用。 |
存儲空間 | 占用實例存儲空間。 您可在實例基本信息頁面的使用量統計區域查看存儲空間大小。 | 不占用實例存儲空間。 說明 日志備份存放于備份空間,備份空間不對外開放訪問。您可在實例基本信息頁面的使用量統計區域查看日志備份大小。 |
本地日志生成規則
RDS MySQL實例實時生成本地日志(Binlog),當一個Binlog文件的大小超過512 MB,或者寫入超過6小時時,系統會自動切換到下一個序號的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,此時如果本地日志保留策略中的可用存儲空間是開啟狀態,則本地日志會被清理。建議手動增加存儲空間或開啟存儲空間自動擴容功能,防止存儲空間滿了以后實例被鎖定。