使用go-mysql-elasticsearch实现通过mysql binlog同步数据到elasticsearch

一、实现的效果

MySQL某张数据表有数据修改,异步将数据同步到ElasticSearch。

项目地址:https://github.com/go-mysql-org/go-mysql-elasticsearch

虽然项目中说es版本的支持 < 6,但是我使用7.14.1是没问题的。

 

二、准备工作

1、安装go

查看文章 centos7安装Go

2、将MySQL的binlog日志格式改为row
(1)确认binlog已经开启
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.01 sec)

2、查看当前二进制日志是否是row格式

mysql> show variables like 'binlog_format';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW   |
+---------------+-------+
1 row in set (0.01 sec)

如果不是,要修改为row格式

3、拉取项目代码

cd /data/go
go get github.com/go-mysql-org/go-mysql-elasticsearch

4、 go-mysql-elasticsearch安装