otter-manager,otter-node,zookeeper,aria2c都安裝好之後需要進行資料庫之間的同步配置
1.建立同步的源庫和使用者,目标庫和使用者
CREATE database source default character set utf8;
CREATE USER 'source'@'localhost' IDENTIFIED BY '123456';
GRANT all ON *.* TO 'source'@'localhost';
CREATE database target default character set utf8;
CREATE USER 'target'@'localhost' IDENTIFIED BY '123456';
GRANT all ON *.* TO 'target'@'localhost';
flush privileges;
2.修改對應的字元集
臨時生效,直接登入資料進行設定即可
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;
set collation_connection=utf8;
set collation_database=utf8;
set collation_server=utf8;
永久生效,需要修改配置檔案 my.cnf
[client] 下面加:default-character-set = utf8
[mysqld] 下面加:character_set_server = utf8
修改完配置之後重新開機msyql
檢視對應的字元集:
show variables like '%character%';
3.資料源配置添加源庫和目标庫
源庫和目标oracle庫都需要添加到資料源中
配置管理->資料源配置->添加一個資料源
4.資料表配置
所有需要同步的表源端和目标端都需要添加,此支援正規表達式
5.canal配置
一般一個資料源對應一個canal。canal會僞裝成源資料庫的從庫,進而拉取相應的BINLOG資料。一個canal隻能被一個pipline使用,同一個資料源也可以配置多個canal。
位點自定義設定: canal預設是從目前時間點開始同步資料,曆史資料是不會進行同步的,如果需要從曆史時間點開始同步,則可以修改此選項(注意:源庫必須存在該位點的binlog方可)
6.添加Channel
- 同步一緻性. ==> 基于資料庫反查(根據binlog反查資料庫),基于目前變更(binlog資料)。針對資料庫反查,在延遲比較大時比較有效,可将最新的版本快速同步到目标,但會對源庫有壓力.
- 同步模式. ==> 行模式,列模式。行模式特點:如果目标庫不存在記錄時,執行插入。列模式主要是變更哪個字段,隻會單獨修改該字段,在雙A同步時,為減少資料沖突,建議選擇列模式。
7.添加pipeline
注意:
select機器選擇靠近源端資料庫的node,可以選擇多個做負載均衡或者備份用
load機器選擇靠近目标端資料庫伺服器的node,可以選擇多個,作為災備用
選擇的canal資料庫要和同步表的資料庫一緻
負載均衡、傳輸模式等選擇
支援DDL同步,選擇否(mysql到oracle不支援DDL同步)
是否跳過DDL異常,選擇是
batch支援,選擇否
8.添加映射關系清單
選擇新增的pipeline名稱,進入映射關系配置
注意:Eventprocessor可對表映射做做預處理,如修改字段名稱、修改主鍵字段、修改字段值、添加字段、過濾記錄、過濾如删除操作的記錄等。
選擇下一步,進行include或者exclude字段映射,如果全部字段同步,則可直接點儲存
儲存後檢視映射關系清單
9.開啟mysql二進制日志同步
因為otter資料同步是依靠二進制日志檔案進行同步的,是以要開啟MySQL的二進制日志。
具體可以參考之前的部落格,連結:https://blog.csdn.net/u014642915/article/details/96877299
10.進行驗證
連接配接上分别用source和target用連接配接資料庫
在source做删除,增加資料,在target使用者上檢視是否同步修改,如果有同步修改,則說明配置成功了!