Canal 增加新库 online 的配置指南
1. 停止 Canal Adapter 服务
cd /home/canal_adapter/
./bin/stop.sh
2. online数据库备份与导入
备份源数据库
/home/mysqldata/mysql-8.0.32/bin/mysqldump -h 10.12.28.156 -ubackup -p --single-transaction --master-data=2 -B online > online.sql
导入到目标数据库
mysql -uroot -p --force < online.sql
3. 修改 Canal Instance 配置
- 登录 Canal Admin 控制台
- 找到对应的 Instance 配置
- 修改
canal.instance.filter.regex
参数
找到canal.instance.filter.regex 配置
修改前配置示例
canal.instance.filter.regex=afzx\\..*
修改后配置示例
canal.instance.filter.regex=afzx\\..*,online\\..*
- 点击"修改"按钮保存配置
4. 配置 Canal Adapter
程序目录
cd /home/canal_adapter/
4.1 修改 application.yml
/home/canal_adapter/conf/application.yml
在 srcDataSources 部分增加 online 数据源
srcDataSources:
afzxDS:
url: jdbc:mysql://127.0.0.1:3307/afzx?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
username: canal
password: canal
# 新增 online 数据源配置
onlineDS:
url: jdbc:mysql://127.0.0.1:3307/online?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
username: canal
password: canal
在 canalAdapters 部分增加 online 目标库配置
canalAdapters:
- instance: qiji66
groups:
- groupId: g1
outerAdapters:
- name: logger
- name: rdb
key: afzx_key
properties:
jdbc.driverClassName: com.mysql.jdbc.Driver
jdbc.url: jdbc:mysql://127.0.0.1:3308/afzx?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&useSSL=false
jdbc.username: canal
jdbc.password: canal
# 新增 online 目标库配置
- name: rdb
key: online_key
properties:
jdbc.driverClassName: com.mysql.jdbc.Driver
jdbc.url: jdbc:mysql://127.0.0.1:3308/online?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&useSSL=false
jdbc.username: canal
jdbc.password: canal
4.2 创建 online 映射配置文件
在 conf/rdb/
目录下创建 online_mapping.yml
文件:
/home/canal_adapter/conf/rdb/online_mapping.yml
dataSourceKey: onlineDS # 对应源数据源
destination: qiji66 # 与instance名称一致
groupId: g1 # 与groupId一致
outerAdapterKey: online_key # 对应目标数据源key
concurrent: true
dbMapping:
mirrorDb: true # 启用全库镜像模式
database: online # 源数据库名
5. 启动 Canal Adapter 服务
cd /home/canal_adapter
./bin/startup.sh
验证步骤
- 检查 Canal Adapter 日志是否有错误
- 在源库 online 中执行数据变更操作
- 检查目标库 online 是否同步了相应变更
注意事项
- 确保源库和目标库的表结构一致
- 如果同步过程中出现问题,可查看 logs/adapter/adapter.log 获取详细错误信息
- 对于大表,初次同步可能需要较长时间