canal能监控多个mysql_Canal监听mysql

安装mysql5.7,并开启binlog

开启binlog

find / -name my.cnf 找到这个文件

添加几行

[mysqld]

log-bin=mysql-bin # 开启 binlog

binlog-format=ROW # 选择 ROW 模式

server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

授权 canal 链接 MySQL 账号具有作为 MySQL slave 的权限, 如果已有账户可直接 grant

CREATE USER canal IDENTIFIED BY 'canal';

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';

-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;

FLUSH PRIVILEGES;

重启服务

输入命令查看,如下图表示成功

canal能监控多个mysql_Canal监听mysql_第1张图片

docker安装canal-admin

Canal的github wiki地址

这是一个管理页面,用来管理canal集群,添加实例,服务,更改配置等

docker pull canal/canal-admin:v1.1.4

docker run -d --name canal-admin -p 8089:8089 --restart=always canal/canal-admin:v1.1.4

修改配置

canal能监控多个mysql_Canal监听mysql_第2张图片

安装完成后即可在浏览器查看 http://127.0.0.1:8089,默认账户名admin 密码123456

canal集群用一张图表达

canal能监控多个mysql_Canal监听mysql_第3张图片

docker安装canal-server

如果是canal集群,则需要安装zookeeper,这里只是单机版

docker pull canal/canal-server:v1.1.4

docker run -d --name canal-server --restart=always -p 11111:11111 canal/canal-server:v1.1.4

修改canal-server的配置

canal能监控多个mysql_Canal监听mysql_第4张图片

密文获取方式(记得去掉*)

mysql> select password('admin');

+-------------------------------------------+

| password('admin') |

+-------------------------------------------+

| *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |

+-------------------------------------------+

1 row in set, 1 warning (0.00 sec)

使用自带的example测试功能

vi canal-server/conf/example/instance.properties

修改以下内容

# position info

canal.instance.master.address=mysql5.7:3306 # 这里是你要监听的数据库

# username/password #你要监听的数据库中的账号和密码,如果没有,自己去创建用户

canal.instance.dbUsername=canal

canal.instance.dbPassword=canal

# table regex

canal.instance.filter.regex=.*\\..* # 正则表达式,表示监听的哪个库,哪个表,这里是所有

# mq config

canal.mq.topic=example # 这里取个名字,默认是example

去canal-admin页面配置

server管理-->新建server-->确定

注意:

经测试,V1.1.4版本admin不可以通过web-UI页面配置创建instance,必须去canal-server里把example文件夹cp一份,并修改里面的配置

你可能感兴趣的:(canal能监控多个mysql)