MySQL Binlog文件導(dǎo)致實(shí)例空間滿(mǎn)的解決辦法
問(wèn)題描述
阿里云RDS MySQL版實(shí)例由于Binlog文件占滿(mǎn)磁盤(pán)空間,會(huì)導(dǎo)致實(shí)例自動(dòng)鎖定,在實(shí)例詳情頁(yè)面的運(yùn)行狀態(tài)為“鎖定中”。且在實(shí)例的監(jiān)控與報(bào)警頁(yè)面磁盤(pán)空間圖中確認(rèn)日志空間使用量較高,下圖為示例圖,具體值以實(shí)際環(huán)境為準(zhǔn)。
問(wèn)題原因
MySQL實(shí)例可能會(huì)由于大事務(wù)快速生成Binlog文件,導(dǎo)致實(shí)例空間滿(mǎn),為避免數(shù)據(jù)丟失,會(huì)對(duì)實(shí)例進(jìn)行自動(dòng)鎖定,磁盤(pán)鎖定之后,將無(wú)法進(jìn)行寫(xiě)入操作。
解決方案
前提條件
對(duì)于RDS MySQL 5.5、5.6、5.7和8.0版本的實(shí)例,建議您提前擴(kuò)容磁盤(pán),保證磁盤(pán)使用率不超過(guò)80%,擴(kuò)容方法請(qǐng)參見(jiàn)變更配置。
注意事項(xiàng)
執(zhí)行清理無(wú)用本地日志步驟前,請(qǐng)先查看以下注意事項(xiàng):
Binlog文件記錄實(shí)例的事務(wù)信息,是RDS實(shí)例高可用和可恢復(fù)性的基礎(chǔ),建議不要關(guān)閉。可以通過(guò)一鍵上傳Binlog功能上傳到OSS來(lái)釋放磁盤(pán)空間或者修改本地Binlog設(shè)置,詳情請(qǐng)參見(jiàn)本地Binlog設(shè)置
清理Binlog文件有延遲,請(qǐng)耐心等待實(shí)例日志空間使用量的下降。
一鍵上傳Binlog會(huì)在后臺(tái)異步提交清理任務(wù),且清理任務(wù)會(huì)將已寫(xiě)入的Binlog上傳到OSS(非用戶(hù)購(gòu)買(mǎi)的OSS)上,然后再?gòu)膶?shí)例空間中刪除Binlog文件,當(dāng)前正在被寫(xiě)入的Binlog文件由于未完成寫(xiě)入,是不可以被清理的。因此,清理過(guò)程會(huì)有一定延遲,建議您單擊一鍵上傳Binlog后耐心等待一定時(shí)間,請(qǐng)勿多次單擊該按鈕,可以在基本信息頁(yè)中查看磁盤(pán)空間是否增大。
由于DML等操作(比如涉及大字段的DML操作)會(huì)快速生成Binlog,可能會(huì)導(dǎo)致上傳Binlog文件到備份空間并且從實(shí)例空間中刪除的處理速度跟不上實(shí)例生成Binlog文件的速度,在這種情況下,建議您考慮升級(jí)磁盤(pán)空間,并且排查Binlog快速生成的原因。
一鍵上傳Binlog
登錄RDS管理控制臺(tái),在頁(yè)面左上角,選擇實(shí)例所在地域。
找到目標(biāo)實(shí)例,單擊實(shí)例ID。
在左側(cè)導(dǎo)航欄中單擊備份恢復(fù)。
在右上角單擊一鍵上傳Binlog,在彈出的對(duì)話框中單擊確定。
說(shuō)明一鍵上傳Binlog功能會(huì)有一定延遲,請(qǐng)耐心等待15分鐘左右。
本操作會(huì)刪除除最新的兩個(gè)本地日志文件外的所有日志文件,如果只有兩個(gè)日志文件,本操作不會(huì)刪除任何文件。
基礎(chǔ)系列實(shí)例不支持一鍵上傳Binlog功能,建議您參見(jiàn)后續(xù)修改本地日志(Binlog)文件設(shè)置刪除本地日志。
修改本地日志(Binlog)文件設(shè)置
登錄RDS管理控制臺(tái),在頁(yè)面左上角,選擇實(shí)例所在地域。
找到目標(biāo)實(shí)例,單擊實(shí)例ID。
在左側(cè)導(dǎo)航欄中單擊備份恢復(fù)。
選擇備份設(shè)置頁(yè)簽,單擊本地日志保留策略后的編輯,根據(jù)您的實(shí)際情況,設(shè)置對(duì)應(yīng)的值。
說(shuō)明保留時(shí)長(zhǎng)若設(shè)置為0,表示本地不保存Binlog日志,直接上傳至OSS。
后續(xù)維護(hù)
若鎖定問(wèn)題已解決,為了預(yù)防再次出現(xiàn)鎖定問(wèn)題,建議設(shè)置在資源不足時(shí),實(shí)例自動(dòng)擴(kuò)容存儲(chǔ)空間的功能,詳情請(qǐng)參見(jiàn)設(shè)置存儲(chǔ)空間自動(dòng)擴(kuò)容。
更多信息
更多實(shí)例空間滿(mǎn)的解決方法請(qǐng)參見(jiàn)如下鏈接: