使用Canal实现MySQL的数据实时同步

Posted qq6137759ab5162

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Canal实现MySQL的数据实时同步相关的知识,希望对你有一定的参考价值。

第一步:开启mysql的binlog日志

(1)修改/etc/my.cnf,在里面添加如下内容

log-bin=/var/lib/mysql/mysql-bin 【binlog 日志存放路径】 
binlog-format=ROW 【日志中会记录成每⼀一⾏行行数据被修改的形式】
server_id=1 【指定当前机器的服务 ID(如果是集群,不能重复)】

(2)配置完毕之后,登陆MySQL,输入如下命令:

show variables like \'%log_bin%\';

(3)配置目标mysql上的canal用户

mysql -uroot -p

CREATE USER canal IDENTIFIED BY \'canal\';

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

FLUSH PRIVILEGES;

(4)重启目标mysql服务

第二步:安装canal

1.安装canal
https://github.com/alibaba/canal/releases

2.解压安装包tar -zxvf canal.deployer-1.1.5-SNAPSHOT.tar.gz

3.修改配置文件conf/example/instance.properties(主要修改自己的数据配置相关信息)
4.启动bin/startup.sh
5.查看进程ps -ef | grep canal
6.查看日志cat logs/canal/canal.log
7.关闭 bin/stop.sh

官方

java代码实现链接

 

以上是关于使用Canal实现MySQL的数据实时同步的主要内容,如果未能解决你的问题,请参考以下文章

实战 | canal 实现Mysql到Elasticsearch实时增量同步

基于Canal和Kafka实现MySQL的Binlog近实时同步

ElasticSearch实战(四十七)-Canal 实现 MySQL 数据实时同步方案

ElasticSearch实战(四十七)-Canal 实现 MySQL 数据实时同步方案

大数据Spark Streaming实时处理Canal同步binlog数据

canal实时同步mysql数据到elasticsearch(部署,配置,测试)