mysql主从同步忽略一条错误_mysql主从同步出现异常语句跳过错误处理
1.跳过操作:
mysql>slave stop;
mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 跳过一个事务
mysql>slave start
2.SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1,跳过一个事务的概念。
在mysql中,对于sql的 binary log 他实际上是由一连串的event组成的一个组,即事务组。
我们在master上可以通过
SHOW BINLOG EVENTS 来查看一个sql里有多少个event。
例如:
mysql> SHOW BINLOG EVENTS in 'mysql-bin.000003' from 9508\G
*************************** 1. row ***************************一个row代表一个事务组
Log_name: mysql-bin.000003
Pos: 9508
Event_type: Query
Server_id: 2
End_log_pos: 9944
Info: use `BK`; CREATE DEFINER=`root`@`%` PROCEDURE `zoucm`( in Spwd VARCHAR(20), in Npwd varchar(20), in YH VARCHAR(20))
pwd_s:
BEGIN
DECLARE Pid int;
select count(*) into Pid from users where user = YH and PWD = Spwd;
if Pid=1 THEN
update users set PWD=Npwd where user = YH and PWD = Spwd;
select 0 state ;
LEAVE pwd_s;
ELSE
select 1 as state ;
end if;
end pwd_s
*************************** 2. row ***************************
Log_name: mysql-bin.000003
Pos: 9944
Event_type: Query
Server_id: 2
End_log_pos: 10080
Info: use `liguanjia_cn`; CREATE TABLE `sss` (
`ds` int(11) NULL ,
PRIMARY KEY (`ds`)
)
*************************** 3. row ***************************
Log_name: mysql-bin.000003
Pos: 10080
Event_type: Query
Server_id: 2
End_log_pos: 10214
Info: use `liguanjia_cn`; CREATE TABLE `dd` (
`ss` double NULL ,
PRIMARY KEY (`ss`)
)
3。实例出错解决:
slave出错信息:
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: XXXXXX
Master_User: replication
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos:14413
Relay_Log_File: LNMP3-relay-bin.000004
Relay_Log_Pos: 2782
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table: liguanjia_cn.%,liguanjia_com.%
Replicate_Wild_Ignore_Table:
Last_Errno: 1305
Last_Error: Error 'PROCEDURE BK.zoucm does not exist' on query. Default database: 'BK'. Query: 'drop procedure zoucm'
Skip_Counter: 0
Exec_Master_Log_Pos:13973
Relay_Log_Space: 4472
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 1305
Last_SQL_Error: Error 'PROCEDURE BK.zoucm does not exist' on query. Default database: 'BK'. Query: 'drop procedure zoucm'
1 row in set (0.00 sec)
master从出错开始binlog日志事务组列表:
mysql> SHOW BINLOG EVENTS in 'mysql-bin.000003' from13973 \G
*************************** 1. row ***************************
Log_name: mysql-bin.000003
Pos:13973
Event_type: Query
Server_id: 2
End_log_pos:14054
Info: use `BK`; drop procedure zoucm
*************************** 2. row ***************************
Log_name: mysql-bin.000003
Pos: 14054
Event_type: Query
Server_id: 2
End_log_pos: 14162
Info: use `liguanjia_cn`; INSERT INTO `dd` (`ss`) VALUES ('dd')
*************************** 3. row ***************************
Log_name: mysql-bin.000003
Pos: 14162
Event_type: Query
Server_id: 2
End_log_pos: 14299
Info: use `liguanjia_cn`; ALTER TABLE `dd`
MODIFY COLUMN `ss` int NOT NULL DEFAULT 0 FIRST
*************************** 4. row ***************************
Log_name: mysql-bin.000003
Pos: 14299
Event_type: Query
Server_id: 2
End_log_pos:14413
Info: use `liguanjia_cn`;UPDATE `dd` SET `ss`='123' WHERE (`ss`='0')
4 rows in set (0.00 sec)
操作目标:
"drop procedure zoucm " 该语句是出错源头。
如果我们想直接跳到 “UPDATE `dd` SET `ss`='123' WHERE (`ss`='0')” 改语句,它们之间隔着3个事务组。
mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 3 就之间从“UPDATE `dd` SET `ss`='123' WHERE (`ss`='0')该语句开始同步
mysql主从同步忽略一条错误_mysql主从同步出现异常语句跳过错误处理相关推荐
- mysql主从配置错误_mysql主从配置常见错误处理
1.error connecting to master 'repl@192.168.0.21:3306' - retry-time: 60 retries: 4 message: Authentic ...
- mysql防止从节点可写数据_mysql 主从数据不一致 Slave_SQL_Running: No 解决方法
在slave服务器上通过如下命令 MysqL> show slave status\G; 显示如下情况: Slave_IO_Running: Yes Slave_sql_Running: No ...
- mysql怎么保证最少一条消息_MySQL 的一条语句是怎么执行的
该文为< MySQL 实战 45 讲>的学习笔记,感谢查看,如有错误,欢迎指正 一.MySQL 的基础架构 以下就是 MySQL 的基础架构图. 在 Linux 中安装 MySQL 时,最 ...
- mysql 主从2013错误_MySQL主从同步报错排错结果及修复过程之:Slave_SQL_Running: No
起因调查: 收到大量邮件报警想必事出有因,就问同事到底发生了什么?同事登录从库查看,发现出现如下报错提示,表示与主库同步失败,一直卡在哪里,看他弄了两个多小时,问题越来越多,解决一个恢复平静了一两分钟 ...
- mysql主从三个线程工作顺序_MySQL主从介绍、准备工作、配置主、配置从、测试主从同步...
MySQL主从介绍 MySQL主从又叫做Replication.AB复制.简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步.MySQL主从是基于binlog的 ...
- Mysql主从异常 表被回滚_Mysql主从同步 异常Slave_SQL_Running: No
在刚搭建好的mysql主从节点上对从节点进行操作,导致同步异常:报错如下: 从节点执行: mysql> show slave status\G; ************************ ...
- mysql主从配置错误_mysql主从配置失败,主从通讯失败
配置mysql主从的时候,检查slave状态,发现报错信息, Error 'The MySQL server is running with the --skip-grant-tables optio ...
- mysql 主从有哪几种模式_mysql 主从模式总结(一)
1. 主从模式的部署步骤 目标:部署一个有3台主机的单主模式的MySQL分组. Primary:192.168.197.110. Secondary:192.168.197.111. Secondar ...
- mysql主备的工作原理是_mysql主从备份及原理分析
一.mysql主从备份(复制)的基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的 ...
最新文章
- Windows下编译 Hadoop
- 使用Ubuntu 12.04作为日常电脑环境
- 最短路最基本算法———Floyd算法
- Base64算法的编程使用
- 基于I2C总线的MPU6050学习笔记
- L1- 001——008
- 00_51入门知识积累__学看电路原理图
- Linux排查CPU使用率100%
- 400类商家服务电话点击电话号码直接拨号
- 计算机保研er去清华计算法学怎么样?
- [转] 大三下,我们该做什么?
- 单片机加减法计算器_单片机加法计算器程序
- 数据项、数据字典、模式等基本概念辨析 数据库系统结构
- this 指向详细解析(箭头函数)
- java 读取excel 合并单元格_利用java读写Excel文件、合并单元格
- Abaqus中实现对N个节点施加不同荷载-以位移为例
- 论影响高学习效率的几大因素
- linux训练python出现killed_linux命令总结(二)
- 怎么禁用Windows 10 自动更新驱动程序
- 地貌学类毕业论文文献都有哪些?