go-mysql-elasticsearch dump.go:164 skip dump, use last binlog replication pos

刚才使用 go-mysql-elasticsearch 将 mysql 中的数据同步到 elasticsearch 中。

执行 ./bin/go-mysql-elasticsearch -config=./etc/river.toml 命令开始 dump 数据和同步

第一把是没问题的,但是我把索引删了,数据全部删了,准备重新同步。

第二把成功不了,看报错是 dump skip 了

日志信息如下

  1. [2019/02/02 22:32:45] [info] binlogsyncer.go:111 create BinlogSyncer with config {1 mysql 127.0.0.1 3306 root   utf8 false false <nil> false false 0 0s 0s 0}
  2. [2019/02/02 22:32:46] [info] status.go:53 run status http server 127.0.0.1:12800
  3. [2019/02/02 22:32:46] [info] dump.go:164 skip dump, use last binlog replication pos (mysql-bin.000002, 335) or GTID set %!s(<nil>)
  4. [2019/02/02 22:32:46] [info] binlogsyncer.go:323 begin to sync binlog from position (mysql-bin.000002, 335)
  5. [2019/02/02 22:32:46] [info] binlogsyncer.go:172 register slave for master server 127.0.0.1:3306
  6. [2019/02/02 22:32:46] [info] sync.go:31 start sync binlog at binlog file (mysql-bin.000002, 335)
  7. [2019/02/02 22:32:46] [info] binlogsyncer.go:692 rotate to (mysql-bin.000002, 335)
  8. [2019/02/02 22:32:46] [info] sync.go:73 rotate binlog to (mysql-bin.000002, 335)
  9. [2019/02/02 22:32:46] [info] master.go:54 save position (mysql-bin.000002, 335)

也没有报错,不往下执行了,数据也不同步了。

 

看到上面的 skip dump,大概猜出是这个搞的鬼

然后在 github 的 issue 里搜了一把,找到了解决方案

https://github.com/siddontang/go-mysql-elasticsearch/issues/115

 

原因和解决方案

原因 master.info 文件记录上一次同步位置

该文件里内容如下

go-mysql-elasticsearch dump.go:164 skip dump, use last binlog replication pos

如果有这个文件,从该文件中的 bin_pos 开始同步

 

查看 binlog 数据

go-mysql-elasticsearch dump.go:164 skip dump, use last binlog replication pos

因为日志位置 335 之后没有更新,所以没有任何新的数据同步进来。

 

 

其实,这个时候,如果我们往数据库添加两条记录,会同步两条的。

 

我这里的解决方案就是删除掉 master.info  文件

完整位置 go-mysql-elasticsearch/var/master.info

go-mysql-elasticsearch dump.go:164 skip dump, use last binlog replication pos

 

 

 

 

 

 

 

 

 

 

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
言曌

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: