canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。
本文主要说明mysql的相关配置。采用docker-compose部署
1、docker-compose.yml
version: '3'
services:
mysql5.7:
environment:
MYSQL_ROOT_PASSWORD: "xxx"
MYSQL_USER: "xxx"
MYSQL_PASSWORD: "xxx"
MYSQL_DATABASE: "test"
image: "mysql:5.7"
restart: always
container_name: "mysql5.7"
volumes:
- "./db:/var/lib/mysql"
- "./conf/my.cnf:/etc/my.cnf"
ports:
- "3304:3306"
2、编写my.cnf配置文件
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
log-bin==mysql-bin
binlog-format=ROW
server_id=2
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
注意:
log-bin==mysql-bin
#日志中会记录成每⼀一⾏行行数据被修改的形式
binlog-format=ROW
#指定当前机器的服务 ID(如果是集群,不能重复)
server_id=2
这是打开mysql的binlog日志
3、启动服务
docker-compose up -d
4、检查数据库相关配置
show variables like '%log_bin%';
5、配置目标mysql上的canal用户
mysql -uroot -p
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;
以上就是mysql的安装和配置了。
评论区