客户mysql的从库上报Last_SQL_Error: Could not execute Update_rows event on table xxx.xxx; Can't find record in 'xxx', Error_code: 1032;
handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.xxxx, end_log_pos xxxx.
以前遇到的error 1032的错误一般是因为过滤db或table引起调用上的错误,或者是从库的数据和主库不一致.解决方法通常也是手工同步一下表,或
者按错误号或按次跳过,或者是过滤时需要加wild,或者用备份重建从库.
客户告诉我用刚备份的从库依然报同样错误.想想没理由呀,刚备份的库早就过了报错的那个时间点了.然后我对比一下报错的两个表的数据,发现从
库 这个表上没有数据.也发现这个表的存储引擎是Memory,只要重启,表内的数据就会丢失.
通过
SELECT table_schema,table_name FROM information_schema.`TABLES`
WHERE ENGINE='MEMORY' AND table_schema <>'information_schema';
查到有,
table_schema table_name
bbs dis_common_member_secwhite
bbs dis_common_process
bbs dis_common_seccheck
bbs dis_common_session
bbs dis_common_visit
bbs dis_forum_threaddisablepos
bbs dis_ucenter_vars
估了解,客户没有读取从库这几个表的需求,所以,只需要将这些表用replicate-ignore-table=schema_name.tbl_name做为参数添加到my.cnf中重启从库,
注意 一个表一行.如果客户有读取从库这几个表的需求,可以通过手工同步数据或直接更改存储引擎解决.
handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.xxxx, end_log_pos xxxx.
以前遇到的error 1032的错误一般是因为过滤db或table引起调用上的错误,或者是从库的数据和主库不一致.解决方法通常也是手工同步一下表,或
者按错误号或按次跳过,或者是过滤时需要加wild,或者用备份重建从库.
客户告诉我用刚备份的从库依然报同样错误.想想没理由呀,刚备份的库早就过了报错的那个时间点了.然后我对比一下报错的两个表的数据,发现从
库 这个表上没有数据.也发现这个表的存储引擎是Memory,只要重启,表内的数据就会丢失.
通过
SELECT table_schema,table_name FROM information_schema.`TABLES`
WHERE ENGINE='MEMORY' AND table_schema <>'information_schema';
查到有,
table_schema table_name
bbs dis_common_member_secwhite
bbs dis_common_process
bbs dis_common_seccheck
bbs dis_common_session
bbs dis_common_visit
bbs dis_forum_threaddisablepos
bbs dis_ucenter_vars
估了解,客户没有读取从库这几个表的需求,所以,只需要将这些表用replicate-ignore-table=schema_name.tbl_name做为参数添加到my.cnf中重启从库,
注意 一个表一行.如果客户有读取从库这几个表的需求,可以通过手工同步数据或直接更改存储引擎解决.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28539951/viewspace-1965943/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28539951/viewspace-1965943/