SymmetricDS 数据同步工具 (免费开源!!)
目前网上只有英文文档,看起来比较吃力。
下面博客中有详细说明:
参阅官网: http://symmetricds.codehaus.org/
http://secyaher.blog.163.com/blog/#m=0&t=1&c=fks_084066085082084065081085085095087094088070081081081
步骤大致如下: (具体详细步骤已经制作成视频!欢迎下载!)
创建表应用表(两个库要同步)
创建系统表
sym -p root.properties --auto-create
将数据库样本导入
sym -p root.properties --run-sql insert_sample.sql
delete from sym_node_group_link;
delete from sym_node_group;
delete from sym_node_identity;
delete from sym_node_security;
delete from sym_node;
insert into sym_node_group (node_group_id, description)
values ('zjg', 'root');
insert into sym_node_group (node_group_id, description)
values ('home', 'client');
insert into sym_node_group_link (source_node_group_id, target_node_group_id, data_event_action)
values ('zjg', 'home', 'P'); --(P = Push, W = Wait for Pull)
insert into sym_node_group_link (source_node_group_id, target_node_group_id, data_event_action)
values ('home', 'zjg', 'W');
insert into sym_node (node_id, node_group_id, external_id, sync_enabled)
values ('00000', 'zjg', '00000', 1);
insert into sym_node_identity values ('00000');
-- Channels
insert into sym_channel
(channel_id, processing_order, max_batch_size, enabled, description)
values('CHANNEL_ZJG', 1, 100000, 1, 'ZJG SEND FROM HERE');
insert into sym_channel
(channel_id, processing_order, max_batch_size, enabled, description)
values('CHANNEL_HOME', 1, 100000, 1, 'HOME SEND FROM HERE');
-- Triggers
insert into sym_trigger
(trigger_id,source_table_name,channel_id,last_update_time,create_time)
values('TIGER_EPORT_ID','ZJG_EPORT','CHANNEL_ZJG',current_timestamp,current_timestamp);
insert into sym_trigger
(trigger_id,source_table_name,channel_id,last_update_time,create_time)
values('TIGER_HOME_ID','ZJG_HOME','CHANNEL_HOME',current_timestamp,current_timestamp);
-- Routers
insert into sym_router
(router_id,source_node_group_id,target_node_group_id,create_time,last_update_time)
values('zjg_home_router', 'zjg', 'home', current_timestamp, current_timestamp);
insert into sym_router
(router_id,source_node_group_id,target_node_group_id,create_time,last_update_time)
values('home_zjg_router', 'home', 'zjg', current_timestamp, current_timestamp);
-- Trigger Router Links
insert into sym_trigger_router
(trigger_id,router_id,initial_load_order,last_update_time,create_time)
values('TIGER_EPORT_ID','zjg_home_router',100,current_timestamp,current_timestamp);
insert into sym_trigger_router
(trigger_id,router_id,initial_load_order,last_update_time,create_time)
values('TIGER_HOME_ID','zjg_home_router', 200, current_timestamp, current_timestamp);
启动服务端 客户端 服务
sym -p root.properties --port 8080 --server
sym -p client.properties --port 9090 --server
设置服务端节点
sym -p root.properties --open-registration "zjg,1" (维护在sym_node表中)
加载服务端节点
sym -p root.properties --reload-node 1 (这里的1,必须是已经在sym_node中的节点ID)