修复mysql slave复制1032错误
一台从库出现1032错误,那1032是什么错误,我们看一下
[root@BLAVDP021~]#perror1032MySQLerrorcode1032(ER_KEY_NOT_FOUND):Can'tfindrecordin'%-.192s'
简单说,就是在从库上找不到相应的记录,同时在show slave status\G;中有相关输出,我们看一下:
Last_Errno:1032Last_Error:CouldnotexecuteUpdate_rowseventontablelenovoweixin.wx_app_order_code;Can'tfindrecordin'wx_app_order_code',Error_code:1032;handlererrorHA_ERR_KEY_NOT_FOUND;theevent'smasterlogmysql-bin.000129,end_log_pos4448749
从上面可以看出,在slave执行从master复制过来的update语句因为slave找不到数据,导致SQL线程报错,停止应用。也就是说master和slave上数据不一致导致的该错误。
遇到这种情况,一般都是找出错误,然后修改slave上的数据,然后启动slave,继续应用。
show slave status中没有明确给出错误的语句,因此需要分析主库上binary log来查看是哪条语句
mysqlbinlog--no-defaults--base64-output=decode-rows-v-v/data/mysql/mysql_data/mysql-bin.000129|grep-A200'4448749'>syk.txtvimsyk.txtUPDATE`lenovoweixin`.`wx_app_order_code`WHERE@1=1607124@2=67516889@3='https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQFe8TwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyRThoN2gzSU1hamUxczJmTzFwMVYAAgSClGlZAwSAOgkA'@4='201707144100080009'@5=NULL@6=0@7=2017-07-1512:05:22@8=2017-07-1512:05:22@9=NULLSET@1=1607124@2=67516889@3='https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQFe8TwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyRThoN2gzSU1hamUxczJmTzFwMVYAAgSClGlZAwSAOgkA'@4='201707144100080009'@5='oLHCTju-hiinGjHg2Qog1Cis_Pgw'@6=1@7=2017-07-1512:05:22@8=2017-07-1512:05:22@9='fd9d079f-6323-473b-8f4a-d37273e2ac5c'
然后到从库中查询是否有此记录,在从库中查询不到,因此我们需要手工在从库上创建此记录如下:
insertintowx_app_order_code(id,scene_id,code_url,orderid,flag,create_time,update_time)values(1607124,67516889,'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQFe8TwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyRThoN2gzSU1hamUxczJmTzFwMVYAAgSClGlZAwSAOgkA','201707144100080009',0,'2017-07-1512:05:22','2017-07-1512:05:22');
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。