mysql 主从故障处理_mysql主从同步出错故障处理总结[数据库技术]
Error_code:1032;handlererrorHA _ERR_KEY_NOT_FOUND;
end_log_po25theevent\’masterlogmysql-bin.000006.4
处置惩罚方式:
而slave上找不到故报错,因为master要删除一条记录。这类情况主上都将其删除了那么从机可以或许直接跳过。可用饬令:
stopslave;
setglobalsql_slave_skip_counter=1;
startslave;
可用我写的一个脚本skip_error_replcation.sh默认跳过10个错误(只针对这类情况才跳,如果这类情况许多。其他情况输出错误成果,等候处置惩罚)
不是无论什么错误都一律跳过。这个剧本是参考maakit工具包的mk-slave-restart情理用shell写的功能上定义了一些自己的器材。
主键重复
又在master上插入了同一条记录。slave已经有该记录。
Last_SQL_Error:CouldnotexecutWrite_roweventontablhcy.t1;
Duplicentri\’2\’forkei\’PRIMA RY\’.
Error_code:1062;
end_log_po92handlererrorHA _ERR_FOUND_DUPP_KEY;theevent\’masterlogmysql-bin.000006.4
处置惩罚方式:
slave上用deschcy.t1;先看下表结构:
mysql>deschcy.t1;
+——-+———+——+—–+———+——-+
|Field|Type|Null|Kei|Default|Extra|
+——-+———+——+—–+———+——-+
|id|int11|NO|PRI|0||
|name|char4|YES||NULL||
+——-+———+——+—–+———+——-+
删除反复的主键
mysql>deletfromt1whereid=2;
1rowaffect0.00secQueriOK.
mysql>startslave;
0rowaffect0.00secQueriOK.
mysql>showslavestatusG;
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
mysql>select*fromt1whereid=2;
master上和slave上再分袂赞成一下。
更新丧失
而slave上找不到丧失了数据。master上更新一条记录。
Last_SQL_Error:CouldnotexecutUpdate_roweventontablhcy.t1;
Can\’tfindrecordin\’t1\’.
Error_code:1032;
handlererrorHA _ERR_KEY_NOT_FOUND;
end_log_po79theevent\’masterlogmysql-bin.000010.4
处置惩罚方式:
用mysqlbinlog分析下出错的binlog日记在干什么。master上。
/usr/local/mysql/bin/mysqlbinlog–no-default-v-v–base64-output=DECODE-ROWSmysql-bin.000010|grep-A \’10\’794
#12030212:08:36serverid22end_log_po794Update_rows:tablid33flags:STMT_END_F
###UPDA TEhcy.t1
###WHERE
###@1=2
###@2=\’bbc\’
###SET
###@1=2
###@2=\’BTV\’
#at794
#12030212:08:36serverid22end_log_po821Xid=60
COMMIT;
DELIMITER;
#Endoflogfile
ROLLBA CK;
;
查找下更新后的那条记录,slave上。应当是不存在
mysql>select*fromt1whereid=2;
Emptiset0.00sec
尔后再到master检查
mysql>select*fromt1whereid=2;
+—-+——+
|id|name|
+—-+——+
|2|BTV|
+—-+——+
1rowinset0.00sec
尔后跳过报错即可。把丢失的数据在slave上填补。
\’BTV\’mysql>insertintot1valu2.;
1rowaffect0.00secQueriOK.
mysql>select*fromt1whereid=2;
+—-+——+
|id|name|
+—-+——+
|2|BTV|
+—-+——+
1rowinset0.00sec
mysql>stopslave;setglobalsql_slave_skip_counter=1;startslave;
0rowaffect0.01secQueriOK.
0rowaffect0.00secQueriOK.
0rowaffect0.00secQueriOK.
mysql>showslavestatusG;
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
中继日志损坏
slave中继日志relay-bin破坏。
Last_SQL_Error:Errorinitirelailogposition:I/Oerrorreadtheheaderfromthebinarilog
Last_SQL_Error:Errorinitirelailogposition:Binloghabadmagicnumber;
It\’notabinarilogfilethatcanbeusbythiversionofMySQL
手工修复
尔后重新做同步,处置惩罚方式:找到同步的binlog和POS点。这样就可以有新的中继日值了
例子:
mysql>showslavestatusG;
***************************1.row***************************
Master_Log_File:mysql-bin.000010
Read_Master_Log_Pos:1191
Relay_Log_File:vm02-relay-bin.000005
Relay_Log_Pos:253
Relay_Master_Log_File:mysql-bin.000010
Slave_IO_Running:Yes
Slave_SQL_Running:No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:1593
Last_Error:Errorinitirelailogposition:I/Oerrorreadtheheaderfromthebinarilog
Skip_Counter:1
Exec_Master_Log_Pos:821
Slave_IO_Run领受masterbinlog消息
Master_Log_File
Read_Master_Log_Pos
Slave_SQL_Run执行写操作
Relay_Master_Log_File
Exec_Master_Log_Pos
以执行写的binlog和POS点为准。
Relay_Master_Log_File:mysql-bin.000010
Exec_Master_Log_Pos:821
mysql>stopslave;
0rowaffect0.01secQueriOK.
MA STER_LOG_POS=821mysql>CHA NGEMA STERTOMA STER_LOG_FILE=\’mysql-bin.000010\’.;
0rowaffect0.01secQueriOK.
mysql>startslave;
0rowaffect0.00secQueriOK.
mysql>showslavestatusG;
***************************1.row***************************
Slave_IO_State:Waitformastertosendevent
Master_Host:192.168.8.22
Master_User:repl
Master_Port:3306
Connect_Retry:10
Master_Log_File:mysql-bin.000010
Read_Master_Log_Pos:1191
Relay_Log_File:vm02-relay-bin.000002
Relay_Log_Pos:623
Relay_Master_Log_File:mysql-bin.000010
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:0
Last_Error:
Skip_Counter:0
Exec_Master_Log_Pos:1191
Relay_Log_Space:778
Until_Condition:None
Until_Log_File:
Until_Log_Pos:0
Master_SSL_A llowed:No
Master_SSL_CA _File:
Master_SSL_CA _Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master:0
Master_SSL_Verify_Server_Cert:No
Last_IO_Errno:0
Last_IO_Error:
Last_SQL_Errno:0
Last_SQL_Error:
mysql 主从故障处理_mysql主从同步出错故障处理总结[数据库技术]相关推荐
- mysql desc hcy.t1_mysql主从同步出错故障处理总结[数据库技术]
在发生故障切换后,经常遇到的问题就是同步报错,数据库很小的时候,dump完再导入很简单就处理好了,但线上的数据库都150G-200G, 如果用单纯的这种方法,成本太高,故经过一段时间的摸索,总结了几种 ...
- mysql主从维护_mysql主从日常管理维护
mysql主从日常管理维护 1)查看从服务器状态 为了防止复制过程中出现故障从而导致复制进程停止,我们需要经常检查从服务器的复制状态. 一般使用show slave status命令来检查. 例如: ...
- mysql主从整套方案_Mysql主从方案
Mysql主从方案 序言 Mysql数据库可以通过源码编译安装,也可以通过RPM或yum安装,安装方法自选,但是我推荐用源码编译安装. 数据库安装 mysql主从复制中: 第一步:master记录二进 ...
- redis mysql主从延迟_MySQL主从延迟问题解决
今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题. 坐好了,准备发车! 主从常见架构 随着日益增长的访问量,单台数据库的应接能力已经捉襟见肘.因此采用主库写数据,从库读数据这种将读写 ...
- mysql主从安装_MySQL主从详细安装步骤
网站: 程序在:web服务器192.168.1.100上面 数据库在:MySQL服务器192.168.1.123上面 实现目的:增加一台MySQL备份服务器(192.168.1.124),作为MySQ ...
- mysql修复主从不一致_MySQL主从不一致修复
场景: 线上正在服务的库由于紧急主从切换导致主从不一致,报错信息如下: Last_Error: Coordinator stopped because there were error(s) in t ...
- 英文版mysql导入导出_mysql命令行导出,导入数据库
一.MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\MySQL\MySQL Se ...
- mysql relaylog 慢_MySQL 主从同步延迟的原因及解决办法
mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍. 主从同步基本上能做到实时同步.我从别的网站借用了主从同步的原理图. 在配置好了, 主从同步以后, 主服务器会 ...
- mysql 主从 通俗易懂_MySQL 主从同步架构中你不知道的“坑”(完结篇)
MySQL 主从同步架构中你不知道的"坑"(完结篇) 收录于话题 #MySQL从入门到放弃 26个 点击上方蓝字,关注我们哟! 前言导读 之前写出一篇文章也是关于这个主从同步架构的 ...
最新文章
- 《xUnit Test Patterns》学习笔记3 - Philosophy of Test Automation
- System.LazyT 延迟加载
- Flask实战2问答平台-发布问答功能完成
- JVM的堆、栈、方法区
- webrtc收包流程源码分析
- 为什么说 Flink + AI 值得期待?
- 重要接口—RandomAccess接口
- 关于GiF动图你不知道的9件事
- Mysql中文乱码问题解决
- DSP关于存储器读写、IO读写时序图的注意点
- python在线投票系统讲解_在线投票系统功能分析
- 奇妙的安全旅行之加密算法(完整版)
- 计算机naf类型是什么,计算机系统结构课后习题答案
- TensorFlow之saved_model使用笔记
- qt QAxObject word文档添加页码(页眉和页脚)
- 使用C++调用Socket接口实现简易TCP服务器
- DSP TMS320操作加密芯片源代码
- 力扣575. 分糖果
- Linux系统开机显示BusyBox v1.22.1 built-in shell(ash) 解决方法
- 百度智能云发布全新云智一体3.0架构,自研技术贯穿各层级
热门文章
- 51单片机(三十)—— 矩阵键盘计算器
- 英才学院计算机与技术学院院长,信息工程学院计算机应用技术研究院副院长
- 使用命令行进行文件操作
- 量化交易:创建签名、从okex平台获取ticker数据和k线数据
- java中三步表达式,Java中三目运算符之类型转换
- kali中文乱码解决方法
- 暴雪魔兽世界用安全令牌送双头犬宠物
- X86 LSS指令详解
- 【论文阅读】CVPR 2020:GaitPart: Temporal Part-based Model for Gait Recognition
- JAVA计算机毕业设计智能超市导购系统Mybatis+源码+数据库+lw文档+系统+调试部署