cannl使用入门学习

1.在mysql中,需要先开启 Binlog 写入功能,配置 binlog-format 为 ROW 模式

1.1查找mysql的安装目录和my.ini目录

  在本地mysql默认配置文件目录:C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

  select @@basedir; 安装目录

  select @@datadir; 数据所在目录;

[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

2.如果数据库作为cannl独立账户

CREATE USER canal IDENTIFIED BY 'canal';  
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;

 3.conf下的配置文件instance.properties

## mysql serverId , v1.0.26+ will autoGen
canal.instance.mysql.slaveId=1234

# enable gtid use true/false
canal.instance.gtidon=false

# position info
canal.instance.master.address=127.0.0.1:3306

# table meta tsdb info
canal.instance.tsdb.enable=true

# username/password
canal.instance.dbUsername=root
canal.instance.dbPassword=root

# table regex
canal.instance.filter.regex=.*\\..*
# table black regex
canal.instance.filter.black.regex=

 4.指定监控具体的数据库

使用Perl正则表达式.
多个正则之间以逗号(,)分隔,转义符需要双斜杠(\\) 
1 所有表:.*   or  .*\\..*
2 指定databasename下所有表: databasename\\..*
3 databasename下的以test开头的表:databasename\\.test.*
4 databasename下的具体的表:canal.test_user
5 组合使用:databasename\\..*,test.test_table1,test.test_table2(逗号分隔)
感谢大佬的原文地址:https://www.cnblogs.com/eason-d/p/9300754.html

 5.客服端实例:

参考原文https://github.com/alibaba/canal/wiki/QuickStart

6.运行时特别注意,如果更换了信息需要把对应的example文件夹下的,

 

 都要删除掉,保留自己的配置即可

posted @ 2020-04-08 09:55  金鑫金  阅读(894)  评论(0编辑  收藏  举报