• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL 1236错误解决方法_MySQL

mysql 搞代码 4年前 (2022-01-09) 16次浏览 已收录 0个评论

gaodaima.com

MySQL 1236错误解决方法

由于主服务器异外重启, 导致从报错, 错误如下:

show slave status错误:

mysql> show slave status/G

Master_Log_File: mysql-bin.000288

Read_Master_Log_Pos: 627806304

Relay_Log_File: mysql-relay-bin.000990

Relay_Log_Pos: 627806457

Relay_Master_Log_File: mysql-bin.000288

Slave_IO_Running: No

Slave_SQL_Running: Yes

Exec_Master_Log_Pos: 627806304

Relay_Log_Space: 627806663

……

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log:

'Client requested master to start replication from impossible position'

mysql错误日志:

tail /data/mysql/mysql-error.log

111010 17:35:49 [ERROR] Error reading packet from server: Client requested master

to start replication from impossible position ( server_errno=1236)

111010 17:35:49 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data

from binary log: 'Client requested master to start replication from impossible

position', Error_code: 1236

111010 17:35:49 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.000288',

position 627806304

[root@db1 ~]# mysqlbinlog /data/mysql/binlog/mysql-bin.000288 > mysql-bin.000288.sql

less mysql-bin.000288.sql

看最后一部分

# at 627625495

#111010 16:35:46 server id 1 end_log_pos 627625631 Query thread_id=45613333

exec_time=32758 error_code=0

SET TIMESTAMP=1318289746/*!*/;

delete from freeshipping_bef_update where part='AR-4006WLM' and code=''

/*!*/;

# at 627625631

#111010 16:35:46 server id 1 end_log_pos 627625751 Query thread_id=45613333

exec_time=32758 error_code=0

SET TIMESTAMP=1318289746/*!*/;

delete from shippingFee_special where part='AR-4006WLM'

/*!*/;

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

找到最接近错误标记627655136的一个position是627625631.

再回到slave机器上change master, 将postion指向这个位置.

mysql> stop slave;

Query OK, 0 rows affected (0.00 sec)

mysql> change master to master_本文来源gaodai$ma#com搞$$代**码)网8log_file='mysql-bin.000288',master_log_pos=627625631;

Query OK, 0 rows affected (0.06 sec)

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

再次查看

mysql> show slave status/G

*************************** 1. row ***************************

Slave_IO_State: Queueing master event to the relay log

Master_Host: 192.168.21.105

Master_User: rep

Master_Port: 3306

Connect_Retry: 10

Master_Log_File: mysql-bin.000289

Read_Master_Log_Pos: 25433767

Relay_Log_File: mysql-relay-bin.000003

Relay_Log_Pos: 630

Relay_Master_Log_File: mysql-bin.000289

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

主从同步正常了, 同样的方法修复其它slave机器.

gaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL 1236错误解决方法_MySQL

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址