Mysql主机断电导致复制出错 server_errno=1236怎么解决

发布时间:2021-07-12 14:00:48 作者:chen
来源:亿速云 阅读:135

这篇文章主要介绍“Mysql主机断电导致复制出错 server_errno=1236怎么解决”,在日常操作中,相信很多人在Mysql主机断电导致复制出错 server_errno=1236怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql主机断电导致复制出错 server_errno=1236怎么解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

机房某台服务器短路,造成整个机柜跳闸。其中数台服务器是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用户,调整防火墙,添加应用用户的外网帐户,弄到一般,机房那里来消息,好了- -!

到此,关于“Mysql主机断电导致复制出错 server_errno=1236怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. mysql主从复制及维护--单主、双主
  2. 使用MySQL5.7半同步复制时发现主库报错怎么处理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:Android中如何调用WebService

下一篇:如何解决Tensorboard不显示计算图graph的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》