全部產品
Search
文件中心

ApsaraDB RDS:同步MySQL執行個體資料至DuckDB分析主執行個體

更新時間:Mar 26, 2026

RDS DuckDB分析主執行個體支援列式儲存、即時編譯、向量化執行、高效的記憶體管理和平行處理等能力,相比InnoDB引擎,複雜查詢效能提升百倍。通過Data Transmission Service,您可以將RDS MySQL的資料庫結構和資料同步到RDS DuckDB分析主執行個體,快速構建企業BI、互動查詢和即時報表系統。

適用範圍

  • 已建立目標RDS DuckDB分析主執行個體,詳情請參見建立DuckDB分析主執行個體

  • 確保目標RDS DuckDB分析主執行個體的儲存空間大於源端資料庫已使用的儲存空間。

注意事項

  • RDS MySQL中待同步的資料表必須具備主鍵。

  • DTS在執行全量資料初始化時將佔用源庫和目標庫一定的讀寫資源,可能會導致資料庫的負載上升,建議您在業務低峰期執行資料同步(例如源庫和目標庫的CPU負載在30%以下)。

  • 請勿在資料同步時,對源庫的同步對象使用gh-ost或pt-online-schema-change等類似工具執行線上DDL變更,否則會導致同步失敗。

  • 由於RDS DuckDB分析主執行個體的使用限制,當叢集中的節點磁碟空間使用量超過80%,該叢集將被鎖定。請提前預估待同步對象所需的空間,確保目的地組群具備充足的儲存空間。

  • 暫不支援同步首碼索引,如果源庫存在首碼索引可能導致資料同步失敗。

  • 若DTS任務運行時目標RDS DuckDB分析主執行個體處於備份中的狀態,則會導致任務失敗。

  • 暫不支援RDS DuckDB分析主執行個體作為資料來源進行資料同步。

  • DML語句包含LIMIT、非確定性函數(如 UUID())或 XA 事務時,屬於複製不安全(Unsafe)操作,可能導致主備資料不一致,同步至 DuckDB 主執行個體時應避免使用。

費用說明

同步類型鏈路配置費用
庫表結構同步和全量資料同步不收費。
增量資料同步收費,詳情請參見計費概述

源庫支援的執行個體類型

執行資料同步操作的源MySQL資料庫支援以下執行個體類型:

  • RDS MySQL

  • ECS上的自建資料庫

  • 本地自建資料庫

本文以RDS MySQL為例介紹配置流程,當來源資料庫為自建MySQL資料庫時,配置流程與該案例類似。

說明

如果您的來源資料庫為自建MySQL資料庫,您還需要執行相應的準備工作,詳情請參見準備工作概覽

支援同步的SQL操作

  • DDL操作:CREATE TABLE、DROP TABLE、RENAME TABLE、TRUNCATE TABLE、ADD COLUMN、DROP COLUMN、MODIFY COLUMN

  • DML操作:INSERT、UPDATE、DELETE

說明
  • 不支援在 UPDATEDELETE 語句中指定 ORDER BYLIMIT

  • 如果在資料同步的過程中變更了源表的欄位類型,同步作業將報錯並中斷。您可以參照文末的方法來手動修複,詳情請參見修複因變更欄位類型導致的同步失敗

資料庫帳號的許可權要求

資料庫

要求的權限

RDS MySQL

推薦使用高許可權帳號,如果是普通帳號,需要具備REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW和所有同步對象的SELECT許可權。

RDS DuckDB分析主執行個體

推薦使用高許可權帳號,如果是普通帳號,需要具備READ和WRITE許可權。

操作步驟

  1. 登入Data Transmission Service控制台,在左邊功能表列中,選擇資料同步,在頂部導覽列中選擇地區。

  2. 資料同步頁面中,單擊建立任務,進行同步任務的建立。

  3. 建立同步任務 > 源庫及目標庫配置頁面,配置同步任務的源庫資訊及目標庫資訊

    源執行個體資訊

    配置

    說明

    資料庫類型

    關係型資料庫 > MySQL

    接入方式

    雲執行個體

    執行個體地區

    購買資料同步執行個體時選擇的源執行個體地區資訊,不可變更。

    是否跨阿里雲帳號

    不跨帳號

    執行個體ID

    選擇源RDS執行個體ID。

    資料庫帳號

    填入源RDS的資料庫帳號,許可權要求請參見資料庫帳號的許可權要求

    資料庫密碼

    填入該資料庫帳號對應的密碼。

    串連方式

    根據需求選擇非加密串連SSL安全連線。如果設定為SSL安全連線,您需要提前開啟RDS執行個體的SSL加密功能,詳情請參見使用雲端認證快速開啟SSL鏈路加密

    重要

    目前僅中國內地及中國香港地區支援設定串連方式

    目標執行個體資訊

    配置

    說明

    資料庫類型

    資料倉儲 > DuckDB

    接入方式

    雲執行個體

    執行個體地區

    購買資料同步執行個體時選擇的目標執行個體地區資訊,不可變更。

    是否跨阿里雲帳號

    不跨帳號

    說明

    DTS 同步任務支援跨地區資料同步遷移,本方案按照架構所示以相同地區同 VPC 內資料同步為例為您介紹構建資料一致性,更多資料同步資訊請參考同步方案概覽

    RDS執行個體ID

    DuckDB的執行個體ID

    資料庫帳號

    填入RDS DuckDB分析主執行個體的資料庫帳號,許可權要求請參見資料庫帳號的許可權要求

    資料庫密碼

    填入該資料庫帳號對應的密碼。

    串連方式

    根據需求選擇非加密串連SSL安全連線。如果設定為SSL安全連線,您需要提前開啟RDS執行個體的SSL加密功能,詳情請參見使用雲端認證快速開啟SSL鏈路加密

    重要

    目前僅中國內地及中國香港地區支援設定串連方式

  4. 單擊測試連接以進行下一步

  5. DTS 伺服器訪問授權彈框中,單擊測試連接

  6. 配置任務對象。

    1. 對象配置頁面,配置待同步的對象。

      配置

      說明

      同步類型

      • 如果只需要進行全量同步,建議同時選中庫表結構同步全量同步

      • 如果需要進行不停機同步,建議同時選中庫表結構同步全量同步增量同步處理

      說明
      • 若未選中庫表結構同步,請確保目標庫中存在接收資料的資料庫和表,並根據實際情況,在已選擇對象框中使用庫表列名映射功能。

      • 若未選中增量同步處理,為保障資料一致性,資料同步期間請勿在源執行個體中寫入新的資料。

      源庫觸發器遷移方式

      請根據實際情況選擇遷移觸發器的方式,若您待遷移的對象不涉及觸發器,則無需配置。更多資訊,請參見配置同步或遷移觸發器的方式

      說明

      僅當同步類型選擇了庫表結構同步時才可以配置。

      開啟遷移評估

      評估源庫和目標庫的結構(如索引長度、預存程序、依賴的表等)是否滿足要求,您可以根據實際情況選擇或者

      說明
      • 僅當同步類型選擇了庫表結構同步時才可以配置。

      • 若選擇,則可能會增加預檢查時間。您可以在預檢查階段查看評估結果,評估結果不影響預檢查結果。

      同步拓撲

      選擇單向同步

      目標已存在表的處理模式

      • 預檢查並報錯攔截:檢查目標資料庫中是否有同名的表。如果目標資料庫中沒有同名的表,則通過該檢查專案;如果目標資料庫中有同名的表,則在預檢查階段提示錯誤,資料同步任務不會被啟動。

        說明

        如果目標庫中同名的表不方便刪除或重新命名,您可以更改該表在目標庫中的名稱,請參見庫表列名映射

      • 忽略報錯並繼續執行:跳過目標資料庫中是否有同名表的檢查項。

        警告

        選擇為忽略報錯並繼續執行,可能導致資料不一致,給業務帶來風險,例如:

        • 表結構一致的情況下,在目標庫遇到與源庫主鍵的值相同的記錄:

          • 全量期間,DTS會保留目的地組群中的該條記錄,即源庫中的該條記錄不會遷移至目標資料庫中。

          • 增量期間,DTS不會保留目的地組群中的該條記錄,即源庫中的該條記錄會覆蓋至目標資料庫中。

        • 表結構不一致的情況下,可能導致只能同步部分列的資料或同步失敗,請謹慎操作。

      是否遷移 Event

      請根據實際情況選擇是否遷移源庫中的事件(Event)。若您選擇,則還需遵循相關要求並進行後續操作。更多資訊,請參見同步或遷移事件

      目標庫對象名稱大小寫策略

      您可以配置目標執行個體中同步對象的庫名、表名和列名的英文大小寫策略。預設情況下選擇DTS預設策略,您也可以選擇與源庫、目標庫預設策略保持一致。更多資訊,請參見目標庫對象名稱大小寫策略

      源庫對象

      源庫對象框中選擇待同步對象,然後單擊向右小箭頭將其移動至已選擇對象框。

      說明

      同步對象選擇的粒度為庫、表、列。若選擇的同步對象為表或列,其他對象(如視圖、觸發器、預存程序)不會被同步至目標庫。

      已選擇對象

      • 如需更改單個同步對象在目標執行個體中的名稱,請右擊已選擇對象中的同步對象,設定方式,請參見庫表列名映射

      • 如需批量更改同步對象在目標執行個體中的名稱,請單擊已選擇對象方框右上方的大量編輯,設定方式,請參見庫表列名映射

      說明
      • 如需按庫或表層級選擇同步的SQL操作,請在已選擇對象中右擊待同步對象,並在彈出的對話方塊中選擇所需同步的SQL操作。

      • 如需設定WHERE條件過濾資料,請在已選擇對象中右擊待同步的表,在彈出的對話方塊中設定過濾條件。設定方法請參見設定過濾條件

    2. 單擊下一步進階配置,進行進階參數配置。

      本樣本保持預設配置,無需手動設定,您也可以根據實際情況進行配置。

      配置說明

      配置

      說明

      選擇調度該任務的專屬叢集

      DTS預設將任務調度到共用叢集上,您無需選擇。若您希望任務更加穩定,可以購買專屬叢集來運行DTS同步任務。更多資訊,請參見什麼是DTS專屬叢集

      複製源表Online DDL工具執行過程的暫存資料表到目標庫

      若源庫使用Data Management或gh-ost執行Online DDL變更,您可以選擇是否同步Online DDL變更產生的暫存資料表資料。

      重要

      DTS任務暫不支援使用pt-online-schema-change等類似工具執行Online DDL變更,否則會導致DTS任務失敗。

      • :同步Online DDL變更產生的暫存資料表資料。

        說明

        Online DDL變更產生的暫存資料表資料過大,可能會導致同步任務延遲。

      • 否,適配DMS Online DDL:不同步Online DDL變更產生的暫存資料表資料,只同步源庫使用Data Management執行的原始DDL語句。

        說明

        該方案會導致目標庫鎖表。

      • 否,適配gh-ost:不同步Online DDL變更產生的暫存資料表資料,只同步源庫使用gh-ost執行的原始DDL語句,同時您可以使用預設的或者自行配置gh-ost影子表和無用表的Regex。

        說明

        該方案會導致目標庫鎖表。

      是否遷移帳號

      請根據實際情況選擇是否同步源庫的帳號資訊。若您選擇,您還需要選擇待同步的帳號並確認帳號許可權。授權方式等資訊,請參見遷移資料庫帳號

      源庫、目標庫無法串連後的重試時間

      在同步任務啟動後,若源庫或目標庫串連失敗則DTS會報錯,並會立即進行持續的重試串連,預設持續重試時間為720分鐘,您也可以在取值範圍(10~1440分鐘)內自訂重試時間,建議設定30分鐘以上。如果DTS在設定的重試時間內重新串連上源庫、目標庫,同步任務將自動回復。否則,同步任務將會失敗。

      說明
      • 針對同源或者同目標的多個DTS執行個體,如DTS執行個體A和DTS執行個體B,設定網路重試時間時A設定30分鐘,B設定60分鐘,則重試時間以低的30分鐘為準。

      • 由於串連重試期間,DTS將收取任務運行費用,建議您根據業務需要自訂重試時間,或者在源和目標庫執行個體釋放後儘快釋放DTS執行個體。

      源庫、目標庫出現其他問題後的重試時間

      在同步任務啟動後,若源庫或目標庫出現非串連性的其他問題(如DDL或DML執行異常),則DTS會報錯並會立即進行持續的重試操作,預設持續重試時間為10分鐘,您也可以在取值範圍(1~1440分鐘)內自訂重試時間,建議設定10分鐘以上。如果DTS在設定的重試時間內相關操作執行成功,同步任務將自動回復。否則,同步任務將會失敗。

      重要

      源庫、目標庫出現其他問題後的重試時間的值需要小於源庫、目標庫無法串連後的重試時間的值。

      是否限制全量遷移速率

      在全量同步階段,DTS將佔用源庫和目標庫一定的讀寫資源,可能會導致資料庫的負載上升。您可以根據實際情況,選擇是否對全量同步任務進行限速設定(設定每秒查詢源庫的速率QPS每秒全量遷移的行數RPS每秒全量遷移的資料量(MB)BPS),以緩解目標庫的壓力。

      說明

      僅當同步類型選擇了全量同步時才可以配置。

      是否限制增量同步處理速率

      您也可以根據實際情況,選擇是否對增量同步處理任務進行限速設定(設定每秒增量同步處理的行數RPS每秒增量同步處理的資料量(MB)BPS),以緩解目標庫的壓力。

      是否去除正反向任務的心跳錶sql

      根據業務需求選擇是否在DTS執行個體運行時,在源庫中寫入心跳SQL資訊。

      • :不在源庫中寫入心跳SQL資訊,DTS執行個體可能會顯示有延遲。

      • :在源庫中寫入心跳SQL資訊,可能會影響源庫的物理備份和複製等功能。

      環境標籤

      您可以根據實際情況,選擇用於標識執行個體的環境標籤。

      情境標籤

      您可以根據實際情況,選擇用於標識執行個體的使用情境。

      配置ETL功能

      選擇是否配置ETL功能。關於ETL的更多資訊,請參見什麼是ETL

      敏感性資料掃描與脫敏

      開啟敏感性資料掃描與脫敏功能,對傳輸的資料進行敏感資訊識別和處理。

    3. 單擊下一步資料校正,進行資料校正任務配置。

      若您需要使用資料校正功能,請按需勾選資料校正方式,其他參數保持預設配置即可,您也可以根據實際情況進行配置,配置方法請參見配置資料校正

      說明

      如勾選結構校正,由於歷史相容性原因,即使結構已同步完成,校正過程仍可能提示“資料不一致”錯誤。該提示為非實質性警示,不影響實際同步結果。為避免誤判,建議在資料校正時暫不啟用結構校正。

      配置說明

      參數

      說明

      全量校正模式

      • 按行抽樣進行全欄位校正:配置抽樣百分比,對抽中的資料進行全欄位校正,取值為10~100的整數。

      • 按錶行數進行校正:對全量任務資料的行數進行校正,不會對具體的資料內容進行校正。

      說明

      按錶行數進行校正的全量校正模式不收費;按行抽樣進行全欄位校正的全量校正模式按實際校正資料量收費。

      全量校正時間規則

      當前僅支援立即開始

      全量校正逾時設定

      • 不設定:全量校正任務逾時不會強制結束。

      • 設定:設定全量校正任務結束的延遲時間。在全量校正任務啟動後開始計時,若校正任務未在指定時間完成則強制結束。取值為1~72的整數。

      全量校正基準

      • 預設:以源庫和目標庫的合集為基準,校正源庫和目標庫資料的一致性。

      • 源庫:以源庫為基準,校正目標庫與源庫資料的一致性(不校正目標庫比源庫多的資料)。

      • 目標庫:以目標庫為基準,校正源庫與目標庫資料的一致性(不校正源庫比目標庫多的資料)。

      全量校正每秒讀取的最巨量資料行數 RPS

      全量資料校正會佔用資料庫一定的讀取資源,您可以根據實際情況對全量校正任務進行限速設定(每秒讀取的資料行數和資料量),以緩解資料庫的壓力。

      說明

      參數值為0時表示無限制,當全量校正每秒讀取的最巨量資料行數 RPS全量校正每秒讀取最大的Byte數byte/s均為0時,表示不限速。

      全量校正每秒讀取最大的Byte數byte/s

      增量校正基準

      您可以根據實際情況,篩選需要校正的DML操作。

      校正對象預設配置全部,可移除右側不需要校正的對象

      您可以在已選擇對象框中勾選不需要進行資料校正的對象,然後單擊移除進行移除。

      說明

      DTS預設已將待同步或遷移的對象移動至已選擇對象框。

      全量校正警示

      • 不設定:不設定警示。

      • 設定:設定警示,您還需要選擇和配置警示規則。警示規則如下:

        • 當全量校正任務失敗時觸發警示。

        • 設定資料不一致的閾值,當全量校正任務不一致資料大於等於設定的閾值時觸發警示。

      增量校正警示

      • 不設定:不設定警示。

      • 設定:設定警示,您還需要選擇和配置警示規則。警示規則如下:

        • 當增量校正任務失敗時觸發警示。

        • 設定資料不一致的周期數、統計周期和不一致數量閾值,當增量校正任務累計在設定的若干個周期,資料不一致記錄量均大於等於設定的閾值時觸發警示。

        • 設定資料延遲的周期數、統計周期和延遲時間閾值,當增量校正任務累計在設定的若干個周期,延遲均大於等於設定的閾值時觸發警示。

    4. 單擊下一步儲存任務並預檢查,進行同步任務的預檢查。

  7. 預檢查通過率達到 100% 後,單擊下一步購買

    說明
    • 在同步作業正式啟動之前,會先進行預檢查。只有預檢查通過後,才能成功啟動同步作業。

    • 如果預檢查失敗,單擊具體檢查項後的提示,查看失敗詳情。

      • 您可以根據提示修複後重新進行預檢查。

      • 如無需修複警示檢測項,您也可以選擇確認屏蔽忽略警示項並重新進行預檢查,跳過警示檢測項重新進行預檢查。

  8. 購買頁面,選擇資料同步執行個體的計費方式、鏈路規格,詳細說明請參見下表。

    類別

    參數

    說明

    資訊配置

    計費方式

    • 預付費(訂用帳戶):在建立執行個體時支付費用。適合長期需求,價格比隨用隨付更實惠,且購買時間長度越長,折扣越多。

    • 後付費(隨用隨付):按小時計費。適合短期需求,用完可立即釋放執行個體,節省費用。

    資源群組配置

    執行個體所屬的資源群組,預設為default resource group。更多資訊,請參見什麼是資源管理

    鏈路規格

    DTS為您提供了不同效能的同步規格,同步鏈路規格的不同會影響同步速率,您可以根據業務情境進行選擇。更多資訊,請參見資料同步鏈路規格說明

    訂購時間長度

    在預付費模式下,選擇訂用帳戶執行個體的時間長度和數量,包月可選擇1~9個月,包年可選擇1年、2年、3年和5年。

    說明

    該選項僅在付費類型為預付費時出現。

  9. 配置完成後,閱讀並勾選《資料轉送(隨用隨付)服務條款》,單擊購買並啟動,並在彈出的確認對話方塊,單擊確定

  10. 購買成功之後,會返回到資料同步列表頁,單擊剛建立的任務 ID 進入任務詳情頁,在詳情頁中點擊左側導覽列中的任務管理可以查看具體進度。

修複因變更欄位類型導致的同步失敗

如果在資料同步的過程中變更了源表的欄位類型,同步作業將報錯並中斷。您可參照如下的方法來手動修複。

  1. 在目標執行個體中,根據同步失敗的表A(表名以customer為例),重新建立一個新表B(表名以customer_new為例),並將新表B的欄位類型調整為所需的類型。

  2. 通過INSERT INTO SELECT命令,將表A的資料複製並插入到新建立的表B中,確保兩張表的資料保持一致。

  3. 重新命名或刪除同步失敗的表A,然後將表B的名稱修改為customer。

  4. 在DTS控制台,重新啟動資料同步作業。

相關文檔