Canal搭建
Canal搭建
准备材料
- mysql 8
- canal 1.16
配置文件
my.ini 或my.cnf
[mysqld]
#开启binlog
log-bin=mysql-bin
#选择ROW模式
binlog-format=ROW
#配置mysql replication
server_id=1
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\\software\\mysql8\\mysql-8.0.30-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\software\\mysql8\\mysql-8.0.30-winx64\\Data
# 允许最大连接数
max_connections=8000
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
canal.deployer-1.1.6/conf/example/instance.properties
#这里的id不能跟mysql的server_id 一样
canal.instance.mysql.slaveId=123
canal.instance.master.address=127.0.0.1:3306
canal.instance.dbUsername=canal
canal.instance.dbPassword=canal
#订阅所有表
canal.instance.filter.regex=.*\\..*
#不希望订阅以下的表,避免报1146 找不到 base table 的错误
canal.instance.filter.black.regex=mysql\\.slave_.*,.*\\.base\ table.*
执行
创建canal 的数据库账号
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
运行
canal.deployer-1.1.6/bin 目录下
.\startup.bat