#################################################
## mysql serverId , v1.0.26+ will autoGen
canal.instance.mysql.slaveId=0
# enable gtid use true/false
canal.instance.gtidon=false
# position info
canal.instance.master.address=127.0.0.1:3306
canal.instance.master.journal.name=
canal.instance.master.position=
canal.instance.master.timestamp=
canal.instance.master.gtid=
# rds oss binlog
#canal.instance.rds.accesskey=
#canal.instance.rds.secretkey=
#canal.instance.rds.instanceId=
# table meta tsdb info
canal.instance.tsdb.enable=true
#canal.instance.tsdb.url=jdbc:mysql://127.0.0.1:3306/canal_tsdb
#canal.instance.tsdb.dbUsername=canal
#canal.instance.tsdb.dbPassword=canal
#canal.instance.standby.address =
#canal.instance.standby.journal.name =
#canal.instance.standby.position =
#canal.instance.standby.timestamp =
#canal.instance.standby.gtid=
# username/password
canal.instance.dbUsername=canal
canal.instance.dbPassword=canal
canal.instance.connectionCharset = UTF-8
# enable druid Decrypt database password
canal.instance.enableDruid=false
#canal.instance.pwdPublicKey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALK4BUxdDltRRE5/zXpVEVPUgunvscYFtEip3pmLlhrWpacX7y7GCMo2/JM6LeHmiiNdH1FWgGCpUfircSwlWKUCAwEAAQ==
Canal 实例的配置片段,用于连接到 MySQL 数据库实例,并监控其 binlog 来捕获数据变更。以下是对你提供的配置项的一些解释和补充:
MySQL 服务器配置
- canal.instance.mysql.slaveId: 在 Canal 1.0.26 及更高版本中,这个值会自动生成,因此你通常不需要手动设置它。设置为 0 通常意味着 Canal 会自动分配一个唯一的 slave ID。
GTID 配置
- canal.instance.gtidon: 这个配置决定了 Canal 是否启用 GTID (全局事务标识符) 支持。GTID 用于在 MySQL 复制过程中唯一标识一个事务。如果你的 MySQL 版本支持 GTID 并且你想使用它,可以设置为
true
。
主库位置信息
- canal.instance.master.address: MySQL 主库的地址和端口。
- canal.instance.master.journal.name, canal.instance.master.position, canal.instance.master.timestamp, canal.instance.master.gtid: 这些是 Canal 用来连接到 MySQL binlog 的位置信息。通常,在第一次启动时,这些值可以留空,Canal 会自动从最新的 binlog 位置开始同步。但在故障恢复或指定同步起点时,这些值需要正确设置。
RDS OSS Binlog 配置
- canal.instance.rds.accesskey, canal.instance.rds.secretkey, canal.instance.rds.instanceId: 这些配置与阿里云 RDS 和 OSS 相关,用于 Canal 在阿里云环境下使用特定的凭证和实例 ID 来访问 RDS 和 OSS。如果你不是在阿里云环境下使用 Canal,或者不使用 RDS 和 OSS 的集成功能,这些配置可能不需要设置。
时间序列数据库配置
- canal.instance.tsdb.enable: 启用或禁用时间序列数据库 (TSDB) 功能,用于存储 Canal 的元数据。
- canal.instance.tsdb.url, canal.instance.tsdb.dbUsername, canal.instance.tsdb.dbPassword: 这些配置用于设置 TSDB 的连接信息。如果你不打算使用 TSDB,可以将
canal.instance.tsdb.enable
设置为false
。
数据库连接配置
- canal.instance.dbUsername, canal.instance.dbPassword: 用于连接到 MySQL 数据库的用户名和密码。
- canal.instance.connectionCharset: 数据库连接的字符集,这里设置为
UTF-8
。 - canal.instance.enableDruid: 是否启用 Druid 数据库连接池,以及相关的加密功能。如果你不需要 Druid 的高级功能,可以将其设置为
false
。
表过滤配置
- canal.instance.filter.regex: Canal 将只捕获符合这个正则表达式的表的数据变更。
- canal.instance.filter.black.regex: Canal 将忽略符合这个正则表达式的表的数据变更。
- canal.instance.filter.field: 用于指定哪些表的哪些字段需要被监控。这个配置在你提供的片段中被注释掉了。