管理本地日志(Binlog)
MySQL的本地日志(Binlog)是一種記錄MySQL數(shù)據(jù)庫(kù)所有更改操作的日志文件,可用于自行搭建主從架構(gòu)、訂閱數(shù)據(jù)等。本文介紹如何查看或刪除RDS MySQL實(shí)例的本地日志(Binlog)。
本地日志與日志備份區(qū)別
對(duì)比項(xiàng) | 本地日志(Binlog) | 日志備份 |
概述 | 用于自行搭建主從架構(gòu)、訂閱數(shù)據(jù)等。 | 開啟日志備份功能后,本地日志會(huì)實(shí)時(shí)上傳(復(fù)制)到備份空間,形成日志備份。基于日志備份,您可以恢復(fù)數(shù)據(jù)到備份保留時(shí)間內(nèi)的任意時(shí)間點(diǎn)。更多信息,請(qǐng)參見RDS MySQL日志備份。 |
開啟/關(guān)閉 | 默認(rèn)開啟,無法關(guān)閉。 | 支持開啟或關(guān)閉。 |
費(fèi)用 | 不涉及費(fèi)用。 | 開啟日志備份不收費(fèi),備份有免費(fèi)額度,僅當(dāng)數(shù)據(jù)備份和日志備份的總大小超過免費(fèi)額度時(shí),收取備份費(fèi)用。 |
存儲(chǔ)空間 | 占用實(shí)例存儲(chǔ)空間。 您可在實(shí)例基本信息頁面的使用量統(tǒng)計(jì)區(qū)域查看存儲(chǔ)空間大小。 | 不占用實(shí)例存儲(chǔ)空間。 說明 日志備份存放于備份空間,備份空間不對(duì)外開放訪問。您可在實(shí)例基本信息頁面的使用量統(tǒng)計(jì)區(qū)域查看日志備份大小。 |
本地日志生成規(guī)則
RDS MySQL實(shí)例實(shí)時(shí)生成本地日志(Binlog),當(dāng)一個(gè)Binlog文件的大小超過512 MB,或者寫入超過6小時(shí)時(shí),系統(tǒng)會(huì)自動(dòng)切換到下一個(gè)序號(hào)的Binlog文件并繼續(xù)寫入。
Binlog文件可能小于512 MB,例如由于命令的執(zhí)行、系統(tǒng)重啟等原因。Binlog文件可能大于512 MB,例如在執(zhí)行大事務(wù)時(shí),要等到大事務(wù)完成才能進(jìn)行Binlog切換。
查看本地日志
本地日志(Binlog)不支持在RDS控制臺(tái)查看,僅支持通過SHOW BINARY LOGS;
命令查看。更多信息,請(qǐng)參見云數(shù)據(jù)庫(kù)RDS MySQL版遠(yuǎn)程獲取Binlog日志并解析Binlog日志。
查看本地日志大小
訪問RDS實(shí)例列表,在上方選擇地域,然后單擊目標(biāo)實(shí)例ID。
在左側(cè)導(dǎo)航欄選擇監(jiān)控與報(bào)警,查看日志空間使用量。
說明主節(jié)點(diǎn)和從節(jié)點(diǎn)的Binlog大小在正常情況下默認(rèn)是一致的,但由于一些原因(例如,主從延遲、Binlog dump延遲、DTS遷移任務(wù)或從節(jié)點(diǎn)仍在讀取應(yīng)用日志等),可能會(huì)導(dǎo)致主、從節(jié)點(diǎn)的Binlog大小不一致。
刪除本地日志
刪除本地日志會(huì)釋放其占用的本地存儲(chǔ)空間。
刪除本地日志不會(huì)減少日志備份的大小,也不影響實(shí)例的按時(shí)間點(diǎn)恢復(fù)功能(按時(shí)間點(diǎn)恢復(fù)功能基于日志備份)。
自動(dòng)刪除本地日志
訪問RDS實(shí)例列表,在上方選擇地域,然后單擊目標(biāo)實(shí)例ID。
在左側(cè)導(dǎo)航欄選擇備份恢復(fù)。
選擇備份策略頁簽,編輯本地日志保留策略,本地日志被自動(dòng)刪除的規(guī)則如下:
觸發(fā)項(xiàng)
觸發(fā)條件
默認(rèn)值
觸發(fā)操作
保留時(shí)長(zhǎng)
備份保留時(shí)長(zhǎng)超過設(shè)定的保留時(shí)長(zhǎng)。
3小時(shí)
超過保留時(shí)長(zhǎng)的本地日志(Binlog)文件,當(dāng)被備份后(需開啟日志備份功能),會(huì)被自動(dòng)清理。
最大存儲(chǔ)空間占有率
存儲(chǔ)空間占有率超過設(shè)定的最大存儲(chǔ)空間占有率。
說明存儲(chǔ)空間占用率=本地日志(Binlog)文件大小/實(shí)例總可用存儲(chǔ)空間大小。
30%
自動(dòng)刪除最早的本地日志(Binlog)文件,直至空間占用率低于設(shè)定比例。
文件保留個(gè)數(shù)
本地日志文件數(shù)超過設(shè)置的文件保留個(gè)數(shù)。
60
自動(dòng)刪除最早的本地日志(Binlog)文件,直至本地日志文件數(shù)低于設(shè)定的文件保留個(gè)數(shù)。
可用存儲(chǔ)空間
實(shí)例總存儲(chǔ)空間占用率超過80%或者剩余空間不足5 GB。
-
自動(dòng)刪除最早的本地日志(Binlog)文件,直至總空間占用率低于80%且剩余空間大于5 GB。
手動(dòng)刪除本地日志
訪問RDS實(shí)例列表,在上方選擇地域,然后單擊目標(biāo)實(shí)例ID。
在左側(cè)導(dǎo)航欄選擇備份恢復(fù)。
單擊一鍵上傳Binlog,并單擊確定。
說明本操作會(huì)保留最新的兩個(gè)本地日志(Binlog)文件并刪除其余所有本地日志文件,且該操作有一定延遲,需要等待一段時(shí)間才能生效。
RDS實(shí)例系列為基礎(chǔ)系列時(shí),不支持該操作。
如果本地日志仍未被刪除,且在日志管理頁面查看到如下錯(cuò)誤日志,則可能是因?yàn)榭蛻舳斯收匣虼嬖跀?shù)據(jù)訂閱任務(wù),需要停止相應(yīng)的任務(wù)。
[Warning] file /home/mysql/data3001/mysql/mysql-bin.069435 was not purged because it was being readby thread number 17126285
一鍵上傳Binlog功能會(huì)將本地日志(Binlog)文件上傳至OSS,保留的天數(shù)等于日志備份保留天數(shù)。
(可選)可以登錄實(shí)例,執(zhí)行
show binary logs;
命令查看本地日志列表。登錄操作,請(qǐng)參見通過DMS登錄RDS MySQL。(可選)可以在監(jiān)控與報(bào)警頁面查看本地日志大小。
相關(guān)操作
您也可以通過API刪除本地日志,詳情請(qǐng)參見PurgeDBInstanceLog - 清理或收縮RDS實(shí)例日志。
如需開啟和關(guān)閉RDS MySQL實(shí)例的日志備份,詳情請(qǐng)參見控制臺(tái)開啟或關(guān)閉日志備份或ModifyBackupPolicy - 修改實(shí)例備份策略。
基于日志備份,您可以恢復(fù)數(shù)據(jù)到備份保留時(shí)間內(nèi)的任意時(shí)間點(diǎn),詳情請(qǐng)參見恢復(fù)全量數(shù)據(jù)或恢復(fù)庫(kù)表。
更多RDS存儲(chǔ)空間的常見問題,例如存儲(chǔ)空間擴(kuò)容方法、存儲(chǔ)空間占用突升排查方法等,請(qǐng)參見存儲(chǔ)空間的常見問題。
常見問題
Q:RDS MySQL的Binlog本地日志如何開啟?
A:RDS MySQL的本地日志(Binlog)默認(rèn)開啟,無法關(guān)閉。具體詳情,請(qǐng)參見管理本地日志(Binlog)。
Q:主、從節(jié)點(diǎn)的Binlog文件大小為什么會(huì)不一致?
A:主、從節(jié)點(diǎn)的Binlog大小默認(rèn)是一致的,但可能存在如下原因?qū)е轮鳌墓?jié)點(diǎn)的Binlog大小不一致。
主節(jié)點(diǎn):主從延遲、Binlog dump延遲或DTS遷移任務(wù)仍在進(jìn)行中等。
從節(jié)點(diǎn):從節(jié)點(diǎn)仍在讀取應(yīng)用(apply)日志。
Q:為什么我的本地日志剛生成就被自動(dòng)刪除了?
A:可能是實(shí)例的存儲(chǔ)空間使用率已經(jīng)達(dá)到80%或剩余空間不足5 GB,此時(shí)如果本地日志保留策略中的可用存儲(chǔ)空間是開啟狀態(tài),則本地日志會(huì)被清理。建議手動(dòng)增加存儲(chǔ)空間或開啟存儲(chǔ)空間自動(dòng)擴(kuò)容功能,防止存儲(chǔ)空間滿了以后實(shí)例被鎖定。