mysql同步mongodb_MySQL数据实时增量同步到MongoDB

一、go-mysql-transfer

go-mysql-transfer是使用Go语言实现的MySQL数据库实时增量同步工具。能够实时监听MySQL二进制日志(binlog)的变动,将变更内容形成指定格式的消息,发送到接收端。在数据库和接收端之间形成一个高性能、低延迟的增量数据(Binlog)同步管道, 具有如下特点:

go-mysql-transfer具有如下特点:

1、不依赖其它组件,一键部署

2、集成多种接收端,如:Redis、MongoDB、Elasticsearch、RabbitMQ、Kafka、RocketMQ,不需要再编写客户端,开箱即用

3、内置丰富的数据解析、消息生成规则;支持Lua脚本,以处理更复杂的数据逻辑

4、支持监控告警,集成Prometheus客户端

5、高可用集群部署

6、数据同步失败重试

7、全量数据初始化

如果此工具对你有帮助,请在github中Star支持下

二、配置

# app.yml

target: mongodb #目标类型

mongodb_addrs: 127.0.0.1:27017 #mongodb连接地址,多个用逗号分隔

#mongodb_username: #mongodb用户名,默认为空

#mongodb_password: #mongodb密码,默认为空

三、数据转换规则

相关配置如下:

rule:

-

schema: eseap #数据库名称

table: t_user #表名称

#order_by_column: id #排序字段,存量数据同步时不能为空

#column_lower_case:false #列名称转为小写,默认为false

#column_upper_case:false#列名称转为大写,默认为false

column_underscore_to_camel: true #列名称下划线转驼峰,默认为false

# 包含的列,多值逗号分隔,如:id,name,age,area_id 为空时表示包含全部列

#include_columns: ID,USER_NAME,PASSWORD

#exclude_columns: BIRTHDAY,MOBIE # 排除掉的列,多值逗号分隔,如:id,nam

你可能感兴趣的:(mysql同步mongodb)