git clone https://github.com/Lordeath/rust_cdc_hub.git
cd rust_cdc_hub
cargo b -r# 下载代码
git clone https://github.com/Lordeath/rust_cdc_hub.git
cd rust_cdc_hub
# 设置环境变量
export CONFIG_PATH=/mnt/d/project/meilisearch/config_example_meili.yaml
# 以release的方式运行
cargo run -r使用编译出来的程序运行
export CONFIG_PATH=/mnt/d/project/meilisearch/config_example_meili.yaml
chmod +x ./rust_cdc_hub
./rust_cdc_hub
# 用rust镜像
docker run --name rust_cdc_hub --rm -it -e CONFIG_PATH=/config_example_meili.yaml -v /mnt/d/project/meilisearch/config_example_meili.yaml:/config_example_meili.yaml -v /mnt/d/project/rust_cdc_hub/target/release:/app rust:latest /app/rust_cdc_hub
# 用debian镜像(更加轻便)
docker run --name rust_cdc_hub --rm -it -e CONFIG_PATH=/config_example_meili.yaml -v /mnt/d/project/meilisearch/config_example_meili.yaml:/config_example_meili.yaml -v /mnt/d/project/rust_cdc_hub/target/release:/app debian:stable-20251117 /app/rust_cdc_hub
# 默认使用 debian:stable-20251117
# 这里把 XXXXXXXXXXXXXX 替换成你的镜像名称
docker build --network host -t XXXXXXXXXXXXXX:0.0.1 -f "./debian.dockerfile" .
# 使用镜像
docker run --name rust_cdc_hub --rm -it -e CONFIG_PATH=/config_example_meili.yaml -v /mnt/d/project/meilisearch/config_example_meili.yaml:/config_example_meili.yaml fangxiangmin/rust_cdc_hub:0.0.1
source_type: MySQL
sink_type: MeiliSearch
source_config:
- host: 192.168.1.103
port: 3306
username: root
password: XXXXXXXXXXX
database: XXX
table_name: table_name_XXXXXXXXXX
server_id: 10000
pk_column: id
sink_config:
- meili_url: http://192.168.1.103:17700
meili_master_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
table_name: table_name_XXXXXXXXXX
meili_table_pk: id
source_type: MySQL
sink_type: MySQL
source_config:
- host: 192.168.1.103
port: 3306
username: root
password: XXXXXXXXXXX
database: XXX
table_name: table_name_XXXXXXXXXX
server_id: 10000
pk_column: id
sink_config:
- host: 192.168.1.104
port: 3306
username: root
password: XXXXXXXXXXX
database: test
table_name: table_name_XXXXXXXXXX
pk_column: id
- mysql数据源
- meilisearch 的 sink
- mysql 的 sink
- starrocks 的 sink
- starrocks的sink时,自动建表,自动建库,自动加字段
- 断点续传,挂掉之后自动重启,然后继续执行之前的作业
- 重试的时候,不drop掉对象,防止重试的时候对象被drop。等到成功之后再drop对象
- (mysql sink) auto create database
- (mysql sink) auto create table
- (mysql sink) auto add column
- (mysql sink) all table sync
- (mysql sink) 忽略这样的字段
fullPathvarchar(120) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci GENERATED ALWAYS AS (concat(path,HouseId,_utf8mb3'/')) STORED, - (mysql source) 获取binlog的时候,指定获取的binlog位置,防止同步时间过长导致的数据丢失
- (mysql sink) 解决pool超时的问题,自行进行连接池的管理,防止连接池超时
- 可视化界面