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