Mysql主机断电导致复制出错 server_errno=1236

前2天真是tmd忙啊。。。每天都这么多事情,运维不好玩- -

[@more@]

机房某台服务器短路,造成整个机柜跳闸。其中数台服务器是mysql的数据库主机,结果重启后,slave的db上都发现复制停止,err里发现下面的信息:

[ERROR] Error reading packet from server: Client requested master to start replication from impossible position ( server_errno=1236)

[ERROR] Got fatal error 1236: 'Client requested master to start replication from impossible position' from master when reading data from binary log

[Note] Slave I/O thread exiting, read up to log 'mysql-bin.000008', position 753871857

这个是比较著名的mysql的bug,断电以后master重新生成了binlog,而slave不知道,仍然试图去读取旧的binlog的之后的内容,造成了复制错误,重新change master一下:

CHANGE MASTER TO
MASTER_HOST='192.168.1.184',
MASTER_USER='rep',
MASTER_PASSWORD='rep',
MASTER_LOG_FILE='mysql-bin.000009',
MASTER_LOG_POS=4;

就ok了。

后来又发现很多slave因为duplicate key停止了,为了让db先跑起来,用了--slave-skip-errors

刚以为没事了,网络故障导致内网网络风暴。。。。。所有服务器内网都开始阻塞,应用基本都瘫痪了。一边让IDC去机房排错。一边开始准备调整db和前端走外网地址,没办法,一小时200w啊。。。

change master的方法是:

1.stop slave

2.备份下master.info

3.使用完整的change master 语句修改复制配置:

CHANGE MASTER TO
MASTER_HOST='222.74.100.184',
MASTER_USER='rep',MASTER_PASSWORD='reper',
MASTER_LOG_FILE='HBDB184-bin.073',
MASTER_LOG_POS=258096961;

4.show slave statusG 确认修改信息生效后,start slave

如果仅仅运行CHANGE MASTER TO MASTER_HOST='222.74.100.184';可能导致MASTER_LOG_FILE被自动设置为'HBDB184-bin.001'哦

接下来还要添加外网的rep用户,调整防火墙,添加应用用户的外网帐户,弄到一般,机房那里来消息,好了- -!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/79686/viewspace-1016235/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/79686/viewspace-1016235/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值