使用maxwell实时同步mysql数据到消息队列(rabbitMQ)
配置mysql
需要mysql开启binlog,而binlog默认是关闭的,需要开启,并且为了保证同步数据的一致性,使用的日志格式为row-based replication(RBR),新建或修改my.conf开启binlog。
1
2
3
4[mysqld]
log-bin=mysql-bin #添加这一行就ok
binlog-format=ROW #选择row模式
server_id=1 #随机指定一个不能和其他集群中机器重名的字符串,如果只有一台机器,那就可以随便指定了
重启mysql, 查询是否已开启bin
1show variables like '%log_bin%'
Variable_name
value
log_bin
on
sql_log_bin
on
配置jdk环境(略)
安装Maxwell
解压,修改config.properties.example为config.properties,然后根据自己的实际情况修改配置
配置rabbitMQ环境
配置maxwell发送消息到rabbitMQ
修改maxwell的config.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41# tl;dr config 生产环境配置为info级别
log_level=DEBUG
producer=rabbitmq
# mysql login info, mysql用户必须拥有读取binlog权限