全部產品
Search
文件中心

ApsaraDB RDS:管理本地日誌(Binlog)

更新時間:Oct 25, 2024

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日誌

查看本地日誌大小

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列選擇監控與報警,查看日誌空間使用量。

    說明

    主節點和從節點的Binlog大小在正常情況下預設是一致的,但由於一些原因(例如,主從延遲、Binlog dump延遲、DTS遷移任務或從節點仍在讀取應用日誌等),可能會導致主、從節點的Binlog大小不一致。

    binlog空間

刪除本地日誌

說明
  • 刪除本地日誌會釋放其佔用的本機存放區空間。

  • 刪除本地日誌不會減少記錄備份的大小,也不影響執行個體的按時間點恢複功能(按時間點恢複功能基於記錄備份)。

自動刪除本地日誌

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列選擇備份復原

  3. 選擇備份策略頁簽,編輯本地日誌保留原則,本地日誌被自動刪除的規則如下:

    觸發項

    觸發條件

    預設值

    觸發操作

    保留時間長度

    備份保留時間長度超過設定的保留時間長度。

    3小時

    超過保留時間長度的本地日誌(Binlog)檔案,當被備份後(需開啟記錄備份功能),會被自動清理。

    最大儲存空間佔有率

    儲存空間佔有率超過設定的最大儲存空間佔有率。

    說明

    儲存空間佔用率=本地日誌(Binlog)檔案大小/執行個體總可用儲存空間大小。

    30%

    自動刪除最早的本地日誌(Binlog)檔案,直至空間佔用率低於設定比例。

    檔案保留個數

    本地記錄檔數超過設定的檔案保留個數。

    60

    自動刪除最早的本地日誌(Binlog)檔案,直至本地記錄檔數低於設定的檔案保留個數。

    可用儲存空間

    執行個體總儲存空間佔用率超過80%或者剩餘空間不足5 GB。

    -

    自動刪除最早的本地日誌(Binlog)檔案,直至總空間佔用率低於80%且剩餘空間大於5 GB。

手動刪除本地日誌

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列選擇備份復原

  3. 單擊一鍵上傳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,保留的天數等於記錄備份保留天數。

  4. (可選)可以登入執行個體,執行show binary logs;命令查看本地日誌列表。登入操作,請參見(廢棄,重新導向至“第二步”)通過DMS登入RDS MySQL

  5. (可選)可以在監控與報警頁面查看本地日誌大小。日誌大小

相關操作

常見問題

  • Q:RDS MySQL的Binlog本地日誌如何開啟?

    A:RDS MySQL的本地日誌(Binlog)預設開啟,無法關閉。具體詳情,請參見管理本地日誌(Binlog)

  • Q:主、從節點的Binlog檔案大小為什麼會不一致?

    A:主、從節點的Binlog大小預設是一致的,但可能存在如下原因導致主、從節點的Binlog大小不一致。

    • 主節點:主從延遲、Binlog dump延遲或DTS遷移任務仍在進行中等。

    • 從節點:從節點仍在讀取應用(apply)日誌。

  • Q:為什麼我的本地日誌剛產生就被自動刪除了?

    A:可能是執行個體的儲存空間使用率已經達到80%或剩餘空間不足5 GB,此時如果本地日誌保留原則中的可用儲存空間是開啟狀態,則本地日誌會被清理。建議手動增加儲存空間或開啟儲存空間自動擴容功能,防止儲存空間滿了以後執行個體被鎖定。