1 回答

慕村9548890
TA貢獻1884條經驗 獲得超4個贊
1、如果RDS上的數據沒有發生增刪改的操作的話,可以生成物理備份或者邏輯備份,然后將物理備份和邏輯備份通過Xtrabackup或者mysqldump將數據導入到自建庫。
2、如果在物理備份已經生成后對于數據庫仍然有增刪改的操作的話,則需要您在恢復物理備份后還需要追加后續的binlog文件,可以通過API/控制臺獲取binlog文件去追加增量數據。
這里有一個非常需要注意的一點是在解壓出來物理備份文件后除了數據和索引文件外還有得到如下圖中的一些文件。
由于在物理備份上應用binlog是需要記錄binlog的pos點的,所有的RDS都是采用主備架構保證高可用性的,為保證主庫正常對外提供服務,備份操作是在從庫上執行的,但是生成出來的binlog文件卻既有可能是主庫或者從庫上生成(兩個binlog文件的pos點是不一致的)。提供給用戶的也可能是這里面的任意一份,因此在物理備份文件中給用戶提供了兩個binlog文件的pos點,如下圖:
用戶在應用binlog的時候需要兩個pos點都測試一下,哪個pos點可以在binlog中找到從這個pos點開始應用binlog。
3、用戶想要將RDS上的增量數據同步在自建庫的binlog上可以使用DTS的數據訂閱功能,可以通過SDK消費增量數據即可再自己應用該數據。
添加回答
舉報
0/150
提交
取消