Canal同步出现异常服务重启后可能会遇到如下问题
mysql binlog日志会设置定时清除机制,如果碰上了,有可能查找binlog日志会找不到,这时候你只能调整
binlog日志的名称,采用新的binlog日志,老的数据丢了无法找回
如何配置呢?
查看binlog日志是否开启
show variables like ‘log_bin’;
查看当前binlog名称以及位置
show master status;
查看binlog文件所在位置
show variables like ‘log_%’;
进入linux系统上述目录查看binlog日志文件
linux系统进入mysql
mysql -u root -p
查看你需要回滚的binlog文件查看position挑选出来
show binlog events in ‘mysql-bin.000001’ limit 10;
修改canal配置文件
meta.dat
{“clientDatas”:
[{“clientIdentity”:{“clientId”:1001,“destination”:“example”,“filter”:""},
“cursor”:{“identity”:{“slaveId”:-1,“sourceAddress”:{“address”:“10.10.161.84”,“port”:3306}},
“postion”:{“included”:false,
“journalName”:“mysql-bin.000033”,
“position”:5988,
“timestamp”:1429621093000
}
}
}],
“destination”:“example”
}
主要修改
journalName binlog文件名
position 上述你挑的位置,不要随意的写0就以为从头开始了,起始位置是查询出来的第一个postion
timestamp 设置为1就可以,我设置为0好像没有用