下载安装
- 地址
- 个人选择这个版本canal.deployer-1.1.4.tar.gz
- 上传解压
[kevin@hadoop112 software]$ cd /opt/module/
[kevin@hadoop112 module]$ mkdir canal
[kevin@hadoop112 module]$ cd /opt/software/
[kevin@hadoop112 software]$ tar -zxvf canal.deployer-1.1.4.tar.gz -C /opt/module/canal/
配置
- 通用配置(conf/canal.properties)
根据情况变化
- 实例配置
[kevin@hadoop112 software]$ cd /opt/module/canal/
[kevin@hadoop112 canal]$ vim conf/example/instance.properties
# 不能与MySQL的server-id重复
canal.instance.mysql.slaveId=0
# position info
canal.instance.master.address=hadoop101:3306
# 其他根据情况变化
使用
-
作用:同步mysql
-
binlog了解
binlog 基本认识
MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有1%的性能损耗 。二进制有两个最重要的使用场景:
其一:MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致的目的。
其二:自然就是数据恢复了,通过使用mysqlbinlog工具来使恢复数据。二进制日志包括两类文件:二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句)语句事件。
-
binlog开启
在mysql的配置文件 /etc/my.cnf 下,修改配置;如果没有my.cnf;就到 /usr/share/mysql/ 将 my-default.cnf 复制到 /etc 下,并改名为my.cnf
在[mysqld] 区块
设置/添加
log-bin=mysql-bin
这个表示binlog日志的前缀是mysql-bin ,以后生成的日志文件就是 mysql-bin.123456 的文件后面的数字按顺序生成。 每次mysql重启或者到达单个文件大小的阈值时,新生一个文件,按顺序编号。
- 赋权限
# 在mysql执行下面查询语句
GRANT ALL PRIVILEGES ON *.* TO canal@'%' IDENTIFIED BY 'canal'
- 再修改my.cnf
server-id= 1
log-bin=mysql-bin
binlog_format=row
# 指定只有 gmall 数据库允许这操作
binlog-do-db=gmall
- 启动/关闭
[kevin@hadoop112 software]$ cd /opt/module/canal/bin
[kevin@hadoop112 bin]$ ll
# 启动
[kevin@hadoop112 bin]$ ./startup.sh
# 关闭
[kevin@hadoop112 bin]$ ./stop.sh
# 重启
[kevin@hadoop112 bin]$ ./restart.sh
- 查询进程
[kevin@hadoop112 bin]$ xcall.sh jps
CanalLauncher
# 检查
[kevin@hadoop112 bin]$ vim cd /opt/module/canal/logs/example.log 中是否有报错
网友评论