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主从同步出现异常语句跳过错误处理的更多相关文章

  1. mysql主从同步原理及错误解决

    mysql主从同步的原理: 1.在master上开启bin-log日志功能,记录更新.插入.删除的语句. 2.必须开启三个线程,主上开启io线程,从上开启io线程和sql线程. 3.从上io线程去连接 ...

  2. Mysql主从同步(复制)

    目录: mysql主从同步定义      主从同步机制 配置主从同步      配置主服务器      配置从服务器 使用主从同步来备份      使用mysqldump来备份      备份原始文件 ...

  3. shell脚本修复MySQL主从同步

    发布:thebaby   来源:net     [大 中 小] 分享一例shell脚本,用于修改mysql的主从同步问题,有需要的朋友参考下吧. 一个可以修改mysql主从同步的shell脚本. 例子 ...

  4. mysql主从同步+mycat读写分离+.NET程序连接mycat代理

    背景 最近新项目需要用到mysql数据库,并且由于数据量大的原因,故打算采用1主1从(主数据库负责增.删.改操作:从数据库负责查操作)的数据库架构,在实现主从之后还要实现读写分离的代理,在网上搜寻了很 ...

  5. mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理

    转自:http://www.cnblogs.com/kevingrace/p/6261091.html 在mysql工作中接触最多的就是mysql replication mysql在复制方面还是会有 ...

  6. 监控mysql主从同步状态

    在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成网站正常运行的重要环节. ...

  7. 监控mysql主从同步

    1,昨天看到shell一道面试题,需求如下: 监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:阶段1:开发一个守护进 ...

  8. Mysql主从同步(复制)(转)

    文章转自:https://www.cnblogs.com/kylinlin/p/5258719.html 目录: mysql主从同步定义 主从同步机制 配置主从同步 配置主服务器 配置从服务器 使用主 ...

  9. mysql主从同步(2)-问题梳理

    之前详细介绍了Mysql主从复制的原理和部署过程,在mysql同步过程中会出现很多问题,导致数据同步异常.以下梳理了几种主从同步中可能存在的问题:1)slave运行过慢不能与master同步,也就是M ...

随机推荐

  1. 0068 Git入门的第一节课

    这是 猴子都懂的Git入门 的学习笔记 Git安装与配置 下载安装Git:http://git-scm.com/ 从开始菜单启动Git Bash $ git --version git version ...

  2. django如何给上传的图片重命名(给上传文件重命名)

    1.先在你项目中添加一个文件夹如:system 在文件夹下添加__init__.py 和storage.py文件,并在storage.py中添加如下代码: # -*- coding: UTF-8 -* ...

  3. API - 使用Default对象 - 基础篇

    在编写Spider Studio脚本时, Default对象是最常用最重要的一个, 其类型定义如下: Webus3.Spider.Controls.JQueryBrowser Default; 下面介 ...

  4. CI框架中 类名不能以方法名相同

    昨天晚上一个坑爹的问题折腾了我一晚上,首先我来说下我的代码,我建立了一个index的控制器然后呢  在控制器里有一个index的方法.页面模板都有. if ( ! defined('BASEPATH' ...

  5. CSS实现文字半透明显示在图片上方法

    CSS实现文字半透明显示在图片上方法 在css中文字半透明我们会需要使用滤镜效果也就是css中的filter:alpha来实现了,下面来看两个文字显示在图片上并且半透明的例子. CSS让一行文字显示在 ...

  6. selenium:chromedriver与chrome版本的对应关系

    转自:http://blog.csdn.NET/huilan_same/article/details/51896672 再使用selenium打开chrome浏览器的时候,需要用chromedriv ...

  7. ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...

  8. 在JAVA中利用public static final的组合方式对常量进行标识

    在JAVA中利用public static final的组合方式对常量进行标识(固定格式). 对于在构造方法中利用final进行赋值的时候,此时在构造之前系统设置的默认值相对于构造方法失效. 常量(这 ...

  9. Unity基于DFGUI的TreeView设计

    using UnityEngine; using System.Collections; public class Item { public string Id; public string Nam ...

  10. 【BZOJ】1670: [Usaco2006 Oct]Building the Moat护城河的挖掘(凸包)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1670 裸打了凸包.. #include <cstdio> #include <cs ...