linux安装两个canal,CentOS7安装Canal

CentOS7安装Canal

CentOS7安装Canal

第一章 绪论

1.1 引言

第二章 操作详解

2.1 下载Canal

下载地址:https://github.com/alibaba/canal/releases

下载的文件名是canal.deployer-1.0.26-SNAPSHOT.tar.gz(原先是canal.adapter-1.1.3-SNAPSHOT.tar.gz,但后来发现不会配置,没什么资料可以参考,于是就换个低版本的来操作),然后通过SecureCRT把这个文件放到192.168.1.20上的/opt/tools目录下。

2.2 安装Canal

进入/opt/tools目录,执行命令:tar -zxvf canal.adapter-1.1.3-SNAPSHOT.tar.gz,这会在当前目录下出现bin、conf、lib、logs、plugin目录。

执行mkdir /usr/local/canal-1.0.26,即在usr/local目录下创建canal-1.0.26目录,然后把bin、conf、lib、logs、plugin目录移动到/usr/local/canal-1.0.26目录下。执行以下命令即可:

mv bin /usr/local/canal-1.0.26

mv conf /usr/local/canal-1.0.26

mv lib /usr/local/ canal-1.0.26

mv logs /usr/local/ canal-1.0.26

mv plugin /usr/local/ canal-1.0.26

2.3 配置Canal

2.3.1开启binlog

vi /etc/my.cnf,在[mysqld]中添加如下语句:

log-bin=mysql-bin

binlog-format=ROW

server_id=1

保存退出后重启mysql,执行systemctl restart mysql

重启后再执行mysql -uroot -p123456

执行show variables like 'log_%';

结果显示如下:

2.3.2创建具有slave权限的账号

通过以下语句创建用户canal:

create user [email protected]'%' identified by 'canal';

通过以下语句给用户授权:

grant select, replication slave, replication client on *.* to [email protected]'%';

2.3.3修改Canal Server配置

首先要保证虚拟机的cpu的数量大于1,否则在修改mysql中的数据时会报错:

执行命令:vi /usr/local/canal-1.0.26/conf/example/instance.properties,添加如下语句:canal.instance.mysql.slaveId=1234

这个slaveId自己定义,千万不要跟其他的mysql slaveid重合了。Canal其实也是自己模拟mysql slave,所以也要有个slaveid。

同时其中的127.0.0.1改成192.168.1.20。

配置好的文件内容如下:

rds_instance.properties中的内容也要修改一下,把其中的127.0.01改成192.168.1.20,这是mysql所在的服务器ip地址。最后内容如下:

2.4 启动Canal Server

首先保证192.168.1.20上的mysql服务起着,然后执行一下命令启动canal:

/usr/local/canal-1.0.26/bin/startup.sh

关闭服务执行/usr/local/canal-1.0.26/bin/stop.sh

2.4 其他操作

-----------------------------------------------------------

# 查看binlog

-----------------------------------------------------------

查看binlog文件的格式:show variables like 'binlog_format';

binlog文件列表:show binary logs; / show master logs;

当前binlog文件:show master status;

查看binlog文件内容(概要):show binlog events in 'mysql-bin.000001';

show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];

选项解析:

IN 'log_name'   指定要查询的binlog文件名(不指定就是第一个binlog文件)

FROM pos        指定从哪个pos起始点开始查起(不指定就是从整个文件首个pos点开始算)

LIMIT [offset,] 偏移量(不指定就是0)

row_count       查询总条数(不指定就是所有行)

查询结果:

Log_name: mysql-bin.000021  ----------------------------------------------> 查询的binlog日志文件名

Pos: 11197 ----------------------------------------------------------> pos起始点:

Event_type: Query ----------------------------------------------------------> 事件类型:Query

Server_id: 1 --------------------------------------------------------------> 标识是由哪台服务器执行的

End_log_pos: 11308 ----------------------------------------------------------> pos结束点:11308(即:下行的pos起始点)

Info: use `zyyshop`; INSERT INTO `team2` VALUES (0,345,'asdf8er5') ---> 执行的sql语句

查看binlog文件内容(详细): mysqlbinlog  --base64-output=decode-rows -v  /var/lib/mysql/mysql-bin.000001

-----------------------------------------------------------

# binlog文件管理

-----------------------------------------------------------

flush logs;     //生成新的binlog文件

reset master;   //删除master的binlog

reset slave;    //删除slave的中继日志

purge master logs before '2012-03-30 17:20:00';   //删除指定日期以前的日志索引中binlog日志文件

purge master logs to 'mysql-bin.000002';          //删除指定日志文件的日志索引中binlog日志文件

CentOS7安装Canal相关教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值