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

MySQL Error 1236 错误解决办法

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

在一次不小心电脑突然掉电了,开机开就出来了080922 10:29:01 [Note] Slave SQL thread initialized, starting replication in log mysql-bin.000778 at position 2874108, relay log \’ ./relay-bin.003287\’ position: 2874245

今天几台MySQL服务器突然停电,重启后复制无法启动,总是报如下错误:

080922 10:29:01 [Note] Slave SQL thread initialized, starting replication in log ‘-bin.000778’ at position 2874108, relay log ‘ ./relay-bin.003287’ position: 2874245

080922 10:29:01 [Note] Slave I/O thread: connected to master ‘[email protected]:3306’, replication started in log ‘mysql-b in.000778’ at position 2874108

080922 10:29:01 [ERROR] Error reading packet from server: Client ed master to start replication from impossible position ( se rver_errno=1236)

080922 10:29:01 [ERROR] Got fatal error 1236: ‘Client requested master to start replication from impossible position’ from master wh en reading data from binary log

为什么会报impossible position呢?打开mysql-bin.000778看看。

mysqlbinlog mysql-bin.000778 > log.sql

tail -f log.sql

# at 2871574 #080922 10:20:27 server id 2 end_log_pos 2871601 Xid = 2516638

COMMIT/*!*/;

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/

最后一个position是2871574,而从库要从2874108开始,难怪报impossible position,难道是断电时有部分log在缓存中还没来得及写入binglog?无论如何先恢复再说吧

stop slave;

CHANGE MASTER TO

MASTER_LOG_FILE=’mysql-bin.000778′,

MASTER_LOG_POS=2871574;

start slave;

show slave statusG

同步正常。。

后来查看主库的启动日志中这样一段

InnoDB: Last MySQL binlog file position 0 2874108, file name ./mysql-bin.000778

080922 10:22:09 InnoDB: Started; log sequence number 6 2534366248

080922 10:22:09 [Note] Recovering after a crash using mysql-bin

080922 10:22:09 [Note] Sta来源gaodai#ma#com搞@代~码$网rting crash recovery…

080922 10:22:09 [Note] Crash recovery finished.

080922 10:22:09 [Note] /usr/sbin/mysqld: ready for connections.

这里Last MySQL binlog file position 0 2874108也是错误的,这个信息到底是哪里来的呢?为什么会这样呢?不明白。

为了保证以后binglog及时写入,将主库sync_binlog变量设置1。


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

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

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

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

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