加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 运营中心 > 搜索优化 > 正文

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

发布时间:2022-02-13 00:15:53 所属栏目:搜索优化 来源:互联网
导读:这篇文章主要介绍Mysql主机断电导致复制出错 server_errno=1236怎么解决,在日常操作中,相信很多人在Mysql主机断电导致复制出错 server_errno=1236怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答Mysql主机断电导
       这篇文章主要介绍“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怎么解决”的学习就结束了,希望能够解决大家的疑惑。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读