canal安装

Myth丶恋晨 2022-04-12 04:58 339阅读 0赞

介绍

canal基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql。可以通过canal实现基于日志增量订阅&消费支持的业务:

  1. 数据库镜像
  2. 数据库实时备份
  3. 多级索引 (卖家和买家各自分库索引)
  4. search build
  5. 业务cache刷新
  6. 价格变化等重要业务消息

下载

github

canal.deployer-1.1.2.tar.gz

配置详解

MySQL初始化

canal的原理是基于mysql binlog技术,所以这里一定需要开启mysql的binlog写入功能,建议配置binlog模式为row。

  1. [mysqld]
  2. log-bin=mysql-bin #添加这一行就ok
  3. binlog-format=ROW #选择row模式
  4. server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复

canal的原理是模拟自己为mysql slave,所以这里一定需要做为mysql slave的相关权限。

  1. CREATE USER canal IDENTIFIED BY 'canal';
  2. GRANT SELECT, SHOW VIEW, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
  3. -- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ; 需要具有SHOW VIEW 权限
  4. FLUSH PRIVILEGES;

canal安装

  1. mkdir canal
  2. tar -zxvf canal.deployer-1.1.2.tar.gz -C ./canal

配置文件

  1. vim conf/example/instance.properties
  2. #################################################
  3. ## mysql serverId , v1.0.26+ will autoGen
  4. # canal.instance.mysql.slaveId=0
  5. # enable gtid use true/false
  6. canal.instance.gtidon=false
  7. # position info 需要改成自己的数据库信息
  8. canal.instance.master.address=127.0.0.1:3306
  9. canal.instance.master.journal.name=
  10. canal.instance.master.position=
  11. canal.instance.master.timestamp=
  12. canal.instance.master.gtid=
  13. # rds oss binlog
  14. canal.instance.rds.accesskey=
  15. canal.instance.rds.secretkey=
  16. canal.instance.rds.instanceId=
  17. # table meta tsdb info
  18. canal.instance.tsdb.enable=true
  19. #canal.instance.tsdb.url=jdbc:mysql://127.0.0.1:3306/canal_tsdb
  20. #canal.instance.tsdb.dbUsername=canal
  21. #canal.instance.tsdb.dbPassword=canal
  22. #canal.instance.standby.address =
  23. #canal.instance.standby.journal.name =
  24. #canal.instance.standby.position =
  25. #canal.instance.standby.timestamp =
  26. #canal.instance.standby.gtid=
  27. # username/password 需要改成自己的数据库信息
  28. canal.instance.dbUsername=canal
  29. canal.instance.dbPassword=canal
  30. canal.instance.connectionCharset = UTF-8
  31. canal.instance.defaultDatabaseName =test
  32. # enable druid Decrypt database password
  33. canal.instance.enableDruid=false
  34. #canal.instance.pwdPublicKey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALK4BUxdDltRRE5/zXpVEVPUgunvscYFtEip3pmLlhrWpacX7y7GCMo2/JM6LeHmiiNdH1FWgGCpUfircSwlWKUCAwEAAQ==
  35. # table regex
  36. canal.instance.filter.regex=.*\\..*
  37. # table black regex
  38. canal.instance.filter.black.regex=
  39. # mq config
  40. canal.mq.topic=example
  41. canal.mq.partition=0
  42. # hash partition config
  43. #canal.mq.partitionsNum=3
  44. #canal.mq.partitionHash=mytest.person:id,mytest.role:id
  45. #################################################

启动

  1. ./bin/startup.sh

发表评论

表情:
评论列表 (有 0 条评论,339人围观)

还没有评论,来说两句吧...

相关阅读

    相关 canal简介及安装部署

    canal简介 一、什么是 Canal 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,从2010

    相关 canal安装

    介绍 canal基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql。可以通过canal实现基于日志增量订阅&消费支持的业务: 1. 数据库镜像