配合mariadb10.2.44或mysql5.7使用。
1.修改数据库配置文件追加以下内容,并重启数据库
[mysqld]
log-bin=mysql-bin #binlog文件名
binlog_format=ROW #选择row模式
server_id=1 #mysql实例id,不能和canal的slaveId重复
# 获取sql语句要求AppleTypeServices mysql>=5.6,开启
binlog-rows-query-log-events=true
2.添加canal_tsdb表和canal用户
CREATE DATABASE IF NOT EXISTS canal_tsdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'canal'@'%' IDENTIFIED BY 'canal';
GRANT SHOW VIEW, SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
GRANT Alter, Alter Routine, Create, Create Routine, Create Temporary Tables, Create View, Delete, Drop, Event, Execute, Grant Option, Index, Insert, Lock Tables, References, Select, Show View, Trigger, Update ON `canal_tsdb`.* TO `canal`@`%`;
FLUSH PRIVILEGES;
version: "3"
services:
canal:
image: 5b1t/canal:1.1.4
container_name: canal
environment:
- canal.instance.master.address=172.16.1.2:3306
- canal.instance.dbUsername=canal
- canal.instance.dbPassword=canal
- canal.destinations=dbname
- canal.instance.tsdb.enable=true
- canal.instance.tsdb.url=jdbc:mysql://172.16.1.2:3306/canal_tsdb??useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
- canal.instance.tsdb.dbUsername=canal
- canal.instance.tsdb.dbPassword=canal
- canal.instance.tsdb.spring.xml=classpath:spring/tsdb/mysql-tsdb.xml
ports:
- "11111:11111"
networks:
default:
ipv4_address: 172.16.1.9
networks:
default:
driver: bridge
ipam:
config:
- subnet: 172.16.1.0/24
Content type
Image
Digest
sha256:c11a3e9ee…
Size
229.3 MB
Last updated
about 1 year ago
docker pull 5b1t/canal:1.1.8