论坛首页 Java企业应用论坛

阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费

浏览 54885 次
精华帖 (5) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-09-12  
想请教下,主数据库坏了,重装这问题你是怎么处理的。
0 请登录后投票
   发表时间:2013-09-12  
柯南无忧 写道
想请教下,主数据库坏了,重装这问题你是怎么处理的。


不处理,需要根据mysql的运维来保证,只是负责读取binlog
0 请登录后投票
   发表时间:2013-09-13  
具体点:主数据执行了一万条insert语句,相应的生成binlog,Canal解析,接着在备数据库也要执行这一万条sql语句,
问题:主数据库坏了,我重装了数据库,接着进行数据恢复,简单点就是执行备份的sql文件,也就是再次执行了这一万条insert语句,照样生成binlog,Canal解析,
这时,你是让备数据库再次执行这一万条insert语句报一万个主键冲突错误,还是怎样处理的,求教,
0 请登录后投票
   发表时间:2013-09-13  
柯南无忧 写道
具体点:主数据执行了一万条insert语句,相应的生成binlog,Canal解析,接着在备数据库也要执行这一万条sql语句,
问题:主数据库坏了,我重装了数据库,接着进行数据恢复,简单点就是执行备份的sql文件,也就是再次执行了这一万条insert语句,照样生成binlog,Canal解析,
这时,你是让备数据库再次执行这一万条insert语句报一万个主键冲突错误,还是怎样处理的,求教,



两种办法:
1. 数据恢复的时候,关闭下binlog输出.
2. 在备库上执行insert时,改用merge sql. mysql语法:insert into xxx on duplicate update
0 请登录后投票
   发表时间:2013-09-16  
重装mysql,canal实例不变报如下错误:java.io.IOException: Received error packet: errno = 1236, sqlstate = HY000 errmsg = Client requested master to start replication from impossible position; the first event 'mysql-bin.000001' at 4851, the last event read from '.\mysql-bin.000001' at 4, the last byte read from '.\mysql-bin.000001' at 4;您是怎么处理的,求教,如保持Canal实例不变又是怎么处理的,
0 请登录后投票
   发表时间:2013-09-16   最后修改:2013-09-16
柯南无忧 写道
重装mysql,canal实例不变报如下错误:java.io.IOException: Received error packet: errno = 1236, sqlstate = HY000 errmsg = Client requested master to start replication from impossible position; the first event 'mysql-bin.000001' at 4851, the last event read from '.\mysql-bin.000001' at 4, the last byte read from '.\mysql-bin.000001' at 4;您是怎么处理的,求教,如保持Canal实例不变又是怎么处理的,


因为你重装了实例,原本canal解析记录的binlog位置已经不适用,需要进行位点重置。人肉找到需要重新订阅的位置或者给定一个时间戳,canal自动基于时间戳进行查找.

有需要你可以进Q群进行讨论,群号:161559791
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics