本文為您介紹如何將 OceanBase 數據庫 MySQL 租戶(簡稱為 OB_MySQL)的數據同步至 OceanBase 數據庫 MySQL 租戶。
前提條件
數據傳輸已具備云資源訪問權限。詳情請參見 數據傳輸遷移角色授權。
已為 OceanBase 數據庫創建專用于數據同步任務的數據庫用戶,并為其賦予了相關權限。詳情請參見 OceanBase 數據源(MySQL 租戶模式) 模塊的文檔。
使用限制
數據傳輸僅支持遷移庫名、表名和列名為 ASCII 碼且不包含特殊字符(包括換行、空格,以及 .|"'`()=;/&\)的對象。
注意事項
節點之間的時鐘不同步,或者電腦終端和服務器之間的時鐘不同步,均可能導致增量同步的延遲時間不準確。
例如,如果時鐘早于標準時間,可能導致延遲時間為負數。如果時鐘晚于標準時間,可能導致延遲。
如果在創建數據同步任務時,您僅配置了 增量同步,數據傳輸要求源端數據庫的本地增量日志保存 48 小時以上。
如果在創建數據同步任務時,您配置了 全量同步+增量同步,數據傳輸要求源端數據庫的本地增量日志至少保留 7 天以上。否則數據傳輸可能因無法獲取增量日志而導致數據同步任務失敗,甚至導致源端和目標端數據不一致。
如果源端或目標端存在僅大小寫不同的表對象,可能會因為源端或目標端大小寫不敏感導致數據遷移的結果不符合預期。
支持的源端和目標端實例類型
源端 | 目標端 |
OB_MySQL(OceanBase 集群實例) | OB_MySQL(OceanBase 集群實例) |
OB_MySQL(OceanBase 集群實例) | OB_MySQL(VPC 內自建數據庫) |
OB_MySQL(OceanBase 集群實例) | OB_MySQL(Serverless 實例) |
OB_MySQL(VPC 內自建數據庫) | OB_MySQL(OceanBase 集群實例) |
OB_MySQL(VPC 內自建數據庫) | OB_MySQL(Serverless 實例) |
操作步驟
登錄 OceanBase 管理控制臺,購買數據同步任務。
詳情請參見 購買數據同步任務。
在 數據傳輸 > 數據同步 頁面,單擊新購買的數據同步任務后的 配置。
如果您需要引用已有的任務配置信息,可以單擊 引用配置。詳情請參見 引用和清空數據同步任務配置。
在 選擇源和目標 頁面,配置各項參數。
參數
描述
同步任務名稱
建議使用中文、數字和字母的組合。名稱中不能包含空格,長度不能超過 64 個字符。
源端
如果您已新建 OceanBase 數據源,請從下拉列表中進行選擇。如果未新建,請單擊下拉列表中的 新建數據源,在右側對話框進行新建。參數詳情請參見 新建 OceanBase 數據源。
目標端
如果您已新建 OceanBase 數據源,請從下拉列表中進行選擇。如果未新建,請單擊下拉列表中的 新建數據源,在右側對話框進行新建。
標簽(可選)
單擊文本框,在下拉列表中選擇目標標簽。您也可以單擊 管理標簽,進行新建、修改和刪除。詳情請參見 通過標簽管理數據同步任務。
單擊 下一步。在 選擇同步類型 頁面,選擇當前數據同步任務的同步類型。
同步類型包括 結構同步、全量同步 和 增量同步,增量同步 包括 DML 同步(包括 Insert、Delete 和 Update) 和 DDL 同步,您可以根據需求進行自定義配置。詳情請參見 自定義配置 DDL/DML,DDL 同步的支持范圍請參見 DDL 同步范圍。
單擊 下一步。在 選擇同步對象 頁面,選擇當前數據同步任務需要同步的對象。
您可以通過 指定對象 和 匹配規則 兩個入口選擇同步對象。本文為您介紹通過 指定對象 方式選擇同步對象的具體操作,配置匹配規則的詳情請參見 配置匹配規則 中庫到庫的通配規則說明和配置方式。
重要待同步的表名和其中的列名不能包含中文字符。
當數據庫的庫名或表名存在“$$”字符時,會影響數據同步任務的創建。
如果您在 選擇同步類型 步驟已勾選 DDL 同步,建議通過匹配規則方式選擇同步對象,以確保所有符合同步對象規則的新增對象都將被同步。如果您通過指定對象方式選擇同步對象,則新增對象或重命名后的對象將不會被同步。
在 選擇同步對象 區域,選中 指定對象。
在 選擇同步范圍 區域的 源端對象 列表中選中需要同步的對象。您可以選擇一個或多個庫的表作為同步對象。
單擊 >,將其添加至 目標端對象 列表中。
數據傳輸支持通過文本導入對象,并支持對目標端對象進行重命名、設置行過濾、移除單個對象或全部對象等操作。
說明通過 匹配規則 方式選擇同步對象時,重命名能力由匹配規則語法覆蓋,操作處僅支持設置過濾條件,以及選擇分片列和需要同步的列。詳情請參見 配置匹配規則。
操作
步驟
導入對象
在選擇區域的右側列表中,單擊右上角的 導入對象。
在對話框中,單擊 確定。
重要導入會覆蓋之前的操作選擇,請謹慎操作。
在 導入同步對象 對話框中,導入需要同步的對象。 您可以通過導入 CSV 文件的方式進行庫表重命名、設置行過濾條件等操作。詳情請參見 下載和導入同步對象配置。
單擊 檢驗合法性。
通過合法性的檢驗后,單擊 確定。
重命名
數據傳輸支持重命名同步對象的名稱,詳情請參見 數據庫庫表重命名。
設置
數據傳輸支持
WHERE
條件實現行過濾,以及查看同步對象的列信息。在選擇區域的右側列表中,鼠標懸停至目標對象。
單擊顯示的 設置。
在 設置 對話框中,您可以進行以下操作。
在 行過濾條件 區域的文本框中,輸入標準的 SQL 語句中的
WHERE
子句,來配置行過濾。詳情請參見 SQL 條件過濾數據。在 查看列 區域,查看同步對象的列信息。
單擊 確定。
移除/全部移除
數據傳輸支持在數據映射時,對暫時選中到目標端的單個或多個對象進行移除操作。
移除單個同步對象
在選擇區域的右側列表中,鼠標懸停至目標對象,單擊顯示的 移除,即可移除該同步對象。
移除全部同步對象
在選擇區域的右側列表中,單擊右上角的 全部移除。在對話框中,單擊 確定,即可移除全部同步對象。
單擊 下一步。在 同步選項 頁面,配置各項參數。
全量同步
在 選擇同步類型 頁面,選中 全量同步,才會顯示下述參數。
參數
描述
讀取并發配置
該參數用于配置全量同步階段從源端讀取數據的并發數,最大限制為 512.并發數過高可能會造成源端壓力過大,影響業務。
寫入并發配置
該參數用于配置全量同步階段往目標端寫入數據的并發數,最大限制為 512。并發數過高可能會造成目標端壓力過大,影響業務。
全量同步速率限制
您可以根據實際需求決定是否開啟全量同步速率限制。如果開啟,請設置 RPS(全量同步階段每秒最多可以同步至目標端的數據行數的最大值限制)和 BPS(全量同步階段每秒最多可以同步至目標端的數據量的最大值限制)。
說明此處設置的 RPS 和 BPS 僅作為限速限流能力,全量同步實際可以達到的性能受限于源端、目標端、實例規格配置等因素的影響。
目標端表對象存在記錄時處理策略
選擇 忽略:目標端表對象存在數據時,如果原數據與寫入數據沖突,數據傳輸采用將沖突數據記錄日志,保留原數據不變的策略進行數據寫入。
重要選擇 忽略,全量校驗將使用 IN 模式拉取數據,無法校驗目標端多數據的場景,并且校驗性能存在一定程度降級。
選擇默認值 停止遷移:當目標端表對象存在數據時,全量遷移會報錯不允許遷移,請處理好目標端數據后再繼續遷移。
重要如果出錯后單擊恢復,數據傳輸將忽略該配置選項,繼續遷移表數據,請謹慎操作。
增量同步
在 選擇同步類型 頁面,選中 增量同步,才會顯示下述參數。
參數
描述
寫入并發配置
該參數用于配置增量同步階段往目標端寫入數據的并發數,最大限制為 512。并發數過高可能會造成目標端壓力過大,影響業務。
增量同步速率限制
您可以根據實際需求決定是否開啟增量同步速率限制。如果開啟,請設置 RPS(增量同步階段每秒最多可以同步至目標端的數據行數的最大值限制)和 BPS(增量同步階段每秒最多可以同步至目標端的數據量的最大值限制)。
說明此處設置的 RPS 和 BPS 僅作為限速限流能力,增量同步實際可以達到的性能受限于源端、目標端、實例規格配置等因素的影響。
增量同步起始位點
如果選擇同步類型時已選擇 全量同步,則不支持修改該參數。
如果選擇同步類型時未選擇 全量同步,但選擇了 增量同步,請在此處指定同步某個時間節點之后的數據,默認為當前系統時間。詳情請參見 設置增量同步位點。
高級選項
參數
描述
目標端表對象存儲類型
當目標端 OceanBase 數據庫 MySQL 租戶為 V4.3.0 及之后版本,并且在 選擇同步類型 頁面,選中 結構同步 或 增量同步 > DDL 同步,才會顯示該區域的參數。
目標端表對象存儲類型包括 默認、行存、列存 和 行列混存,該配置用于確定結構同步或增量同步時目標端表對象的存儲類型,詳情請參見 default_table_store_format。
說明默認 選項是根據目標端參數配置自適應其他選項,是結構同步的表對象或增量 DDL 的新增表對象根據設置的存儲類型寫對應的結構。
無非空唯一鍵表增加隱藏列
OceanBase 數據庫 MySQL 租戶之間的數據同步,在 選擇同步類型 頁面,選中 結構同步 或 增量同步 > DDL 同步,才會顯示該區域的參數,配置是否為無非空唯一鍵表增加隱藏列。詳情請參見 數據遷移服務隱藏列機制說明。
單擊 預檢查。
在 預檢查 環節,數據傳輸會檢測邏輯表 Schema 和物理表 Schema 是否一致。目前僅檢查列名、列類型,以及是否為空,不檢查長度和默認值。如果預檢查報錯:
您可以在排查并處理問題后,重新執行預檢查,直至預檢查成功。
您也可以單擊錯誤預檢查項操作列中的 跳過,會彈出對話框提示您跳過本操作的具體影響,確認可以跳過后,請單擊對話框中的 確定。
預檢查成功后,單擊 啟動任務。
如果您暫時無需啟動任務,請單擊 保存。后續您只能在 同步任務列表 頁面手動啟動任務或通過批量操作啟動任務。批量操作的詳情請參見 批量操作數據同步任務。
數據傳輸支持在數據同步任務運行過程中修改同步對象,詳情請參見 查看和修改同步對象及其過濾條件。數據同步任務啟動后,會根據選擇的同步類型依次執行,詳情請參見 查看同步詳情。
如果數據同步任務運行報錯(通常由于網絡不通或進程啟動過慢導致),您可以在數據同步任務的列表或詳情頁面,單擊 恢復。