mysql 主从同步停止_MySQL 主从同步中断常见问题

Error_code: 1032

【现象】

Last_Error: Could not execute Update_rows event on table kebao.t1; Can't find record in 't1', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000014, end_log_pos 114166

140719 23:01:04 [ERROR] Slave SQL: Could not execute Delete_rows event on table zhumh.t; Can't find record in 't', Error_code: 1032; handler error HA_ERR_END_OF_FILE; the event's master log mysql-bin.000004, end_log_pos 2359, Error_code: 1032

【原因】

在主库为row或mixed模式下,从库数据不一致导致的SQL线程中断

【解决】

1.到主库上查看event在执行什么更新,把数据查出来

2.到从库上看这条数据是否存在,修复。

【如何避免】

1.可能导致主从不一致的SQL

2.不使用--binlog-ignore-db和--replicate-ignore-db

3.不适用trigger

Error_code:1062

【现象】

Last_Error: Query caused different errors on master and slave. Error on master: 'Deadlock found when trying to get lock; try restarting transaction' (1213), Error on slave: 'Duplicate entry '176484282' for key 1' (1062). Default database: ‘XXXXX'. Query:   'INSERT INTO t1(id,cust_id,in_ucid,confrim_time)

SELECT csl.id,csl.cust_id,csl.in_ucid,csl.add_time

FROM tl_cust_stat_log csl, cust cust

WHERE csl.add_time >  NAME_CONST('stat_start_date',_utf8 0x323031342D30342D31392031373A33303A3030) AND csl.add_time <=  NAME_CONST('stat_end_date',_utf8 0x323031342D30342D32312031373A33303A3030)

AND (csl.cur_stat_2 = '0609' AND csl.opt_code = 'CBSA') AND csl.cust_id = cust.id AND cust.posid =  NAME_CONST('posIdVar',34094)'

【原因】

主库执行这条insert myISAM表 select from innodb表 对from的表加S锁,和另一个update语句死锁,导致这个insert..select被回滚。

但是insert 的myiSAM表没有被回滚,因此记入了binlog,在从库上执行导致duplicate key1062

【解决办法】

1.确保更新语句中与从库一致

stop slave;

set global sql_slave_skip_counter=1;

start slave;

2.若不一致,则从库删掉相应数据,重新执行event。

my.cnf 设置,一直后在修改

slave-skip-errors = 1062(用于修复主从)

Error_code: 1053

【现象】

140524  9:48:36 [ERROR] Slave: Error 'Server shutdown in progress' on query. Default database: 'crm_sale'. Query: 'load data INFILE '/home/mysql/mysql/tmp/SQL_LOAD-3367957599-1103609990-72.data' IGNORE INTO table XXX character set utf8',   Error_code: 1053

【原因】

mysql-5535,mysql-5615之前,都有这个bug,显式的kill查询时候会导致1053:server shutdown progress错误,并中断SQL线程。

【解决办法】

直接start slave;

Error_code:1236

【现象】

Error: 1236 SQLSTATE: HY000 (ER_MASTER_FATAL_ERROR_READING_BINLOG)

Message: Got fatal error %d from master when reading data from binary log: '%s‘

【原因】

从库还未执行binlog,主库已经超过expire_log_days自动删除了binlog

【处理】

1.若漏掉写入,则找到binlog备份,执行增量

2.若无写入,则重新change master到主库上第一个binlog的第一个点

Error_code: 1298

【现象】

2014-12-31 07:25:01 32135 [Warning] Slave: Unknown or incorrect time zone: 'UTC' Error_code: 1298

2014-12-31 07:30:31 32219 [ERROR] Slave SQL: Error 'Unknown or incorrect time zone: 'UTC'' on query. Default database: 'configuration'. Query: 'BEGIN', Error_code: 1298

【处理】

mysql_tzinfo_to_sql /usr/share/zoneinfo |  mysql  -uroot -proot1 -S /mysqldata/socket/mysql.sock_dsp3609 mysql

--timezone  是mysqld_safe的参数

[mysqld_safe]

timezone = GMT

验证:

SELECT @@global.time_zone, @@session.time_zone;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值