# easy-binlog
**Repository Path**: fun-tan90/easy-binlog
## Basic Information
- **Project Name**: easy-binlog
- **Description**: 轻量级 Mysql/MariaDB Binlog 客户端,为第三方提供数据订阅服务
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: dev
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 5
- **Forks**: 1
- **Created**: 2023-09-01
- **Last Updated**: 2025-07-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Easy-Binlog
轻量级Mysql/MariaDB Binlog日志分发系统
---
## 项目特性
- 轻量级
- 支持集群化部署
- 提供web端可视化配置
## 应用场景
- 异构数据库之间同步数据
- 配合其他中间件,可实现多级缓存动态更新
## 分发类型
- kafka
- rocketmq
- mysql
- redis
- redis-single
- redis-sentinel
- redis-cluster
- mqtt
- webhook
- more
## 核心架构

---
## 环境准备
- jdk8+
- mysql
- tdengine(非必须)
## 初始化schema
- [mysql.sql](doc/sql/mysql.sql)
- [tdengine.sql(非必须)](doc/sql/tdengine.sql)
## 部署教程
1. **使用jar部署** [发行版地址](https://gitee.com/fun-tan90/easy-binlog/tags)

启动manager
```shell
# 进入easy-binlog-manager目录
# linux
chmod + *.sh
./start.sh
# 如需修改配置,在config目录下修改对应的配置即可
# 查看运行状态
# ./status.sh
# 停止
# ./stop.sh
# window
# 打开cmd
# start.bat easy-binlog-manager-xxx.jar
```
启动worker
```shell
# 进入easy-binlog-worker目录
# linux
chmod + *.sh
./start.sh
# 如需修改配置,在config目录下修改对应的配置即可
# 查看运行状态
# ./status.sh
# 停止
# ./stop.sh
# window
# 打开cmd
# start.bat easy-binlog-worker-xxx.jar
```
2. **使用docker-compose部署** [eb-docker](doc/eb-docker)

- manager环境变量
| 环境变量 | 必须配置 | 描述 | 默认值 | 备注 |
|--------------------|:----:|---------------|:------:|:----------------:|
| M_VALIDATE_CAPTCHA | | 是否开启验证码校验 | true | |
| M_REQUEST_TIMEOUT | | 与worker请求默认超时 | 10000 | |
| M_USERNAME | | 控制台用户名 | admin | |
| M_PASSWORD | | 控制台密码 | 123456 | |
| M_METRIC | | 是否采集指标数据 | true | |
| M_TB_URL | | 时序数据库地址 | - | M_METRIC为true时必填 |
| M_DB_URL | * | mysql地址 | - | |
| M_DB_USER | * | mysql用户名 | - | |
| M_DB_PASS | * | mysql密码 | - | |
- worker环境变量
| 环境变量 | 必须配置 | 描述 | 默认值 | 备注 |
|-------------------------|:----:|------------------|:-----------------------:|:--:|
| W_MANAGER_REGISTER_URLS | * | manager注册地址,多个逗号 | sd:tcp://127.0.0.1:1204 | |
| W_HEARTBEAT_INTERVAL | | 与manager的心跳间隔 | 3000 | |
| W_REQUEST_TIMEOUT | | 请求默认超时 | 10000 | |
| W_CONNECT_TIMEOUT | | 配置连接超时 | 15000 | |
| W_CIDR | | IP 地址块 | 192.168.0.0/24 | |
2.1. 创建集群网络
```shell
docker network create --driver=bridge --gateway=172.18.2.1 --subnet=172.18.2.0/24 eb_net
```
2.2. 启动集群
```shell
docker-compose up -d
```
2.3.查看集群状态
```shell
docker-compose ps -a
```
3. **访问控制台**
```shell
# http://ip:1206
# 初始账号:admin
# 初始密码:123456
```
