关闭

关于 mysql SET GLOBAL sql_slave_skip_counter = N 的一点记录

181人阅读 评论(1) 收藏 举报
分类:

SET GLOBAL sql_slave_skip_counter = N


This statement skips the next N events from the master. This is useful for recovering from replication stops caused by a statement.

This statement is valid only when the slave threads are not running. Otherwise, it produces an error.


When using this statement, it is important to understand that the binary log is actually organized as a
sequence of groups known as event groups. Each event group consists of a sequence of events.

• For transactional tables, an event group corresponds to a transaction.
• For nontransactional tables, an event group corresponds to a single SQL statement.
Note
A single transaction can contain changes to both transactional and nontransactional tables.
When you use SET GLOBAL sql_slave_skip_counter to skip events and the result is in the
middle of a group, the slave continues to skip events until it reaches the end of the group. Execution

then starts with the next event group. 

mysql为啥这么做是为了保证事务的一致性,一个大事务中一个sql 操作异常,那么整个大事务就必须要全部回退rollback。

一个事务具备原子性,在任何情况下都无法破坏一个事务的完整性。

0
0
查看评论

set global sql_slave_skip_counter=1

set  global sql_slave_skip_counter=1; 由于字符集编码问题,导致slave上insert中文时出错。 处理过程为: 1. 先停止slave mysql>stop slave; 2. 跳过slave上的1个错误 mysql>set&...
  • lwei_998
  • lwei_998
  • 2014-11-21 15:20
  • 5092

mysql如何使用延迟复制拯救你的误操作(及sql_slave_skip_counter的含义)

说明:本文所述内容都是是基于mysql 5.5.x及mairadb 10.0.x 版本 如果是mysql5.6 及其以上版本可使用:CHANGE MASTER TO MASTER_DELAY = N;N为多少秒,该语句设置从数据库延时N秒后,再与主数据库进行数据同步复制。具体介绍详见 :MySql...
  • lidan3959
  • lidan3959
  • 2014-03-18 15:17
  • 932

mysql复制出错与sql_slave_skip_counter

当源数据不一样或某些情况下,mysql复制会出错。 双主A机 mysql> select * from test1; +--------------------------------------+ | uid | +---...
  • jgmydsai
  • jgmydsai
  • 2015-03-11 16:42
  • 989

MySQL的一次错误处理 SQL_SLAVE_SKIP_COUNTER

本地环境,在复制DDL的时候出现错误:   mysql 5.5.28-log> show slave status \G *************************** 1. row ***************************    ...
  • edwzhang
  • edwzhang
  • 2013-12-09 18:09
  • 3571

MySQL 之 set global sql_slave_skip_counter=N 命令

MySQL 之 set global sql_slave_skip_counter=N
  • upHailin
  • upHailin
  • 2017-04-09 17:21
  • 127

mysql 5.7多源复制中断如何处理

ERROR 3086 (HY000): When sql_slave_skip_counter> 0, it is not allowed to start more than one SQLthread by using 'START SLAVE [SQL_THREAD]'....
  • aeolus_pu
  • aeolus_pu
  • 2016-08-08 17:46
  • 980

MySQL开启general_log

在本地开发的时候,有时需要临时开启mysql的全局log,查看每条sql执行记录。 以下操作直接在mysql命令行里面执行,不需重启mysql。 需要用root身份执行命令。设置log位置,Linux、OSX一般在 /tmp下。mysql>set global general_log_fi...
  • huguohuan
  • huguohuan
  • 2015-12-15 16:13
  • 2012

MySQL中Global、Session和Both(Global & Session)范围的Dynamic及Not Dynamic类型的变量的作用范围和设置方法

1. Global & Dynamic example:slow_query_log Ø  显示该变量的值: 当前设置为OFF   Ø  在一个session中设置该Global &Dynamic类型的变量: 可以看到,...
  • zyz511919766
  • zyz511919766
  • 2013-10-28 16:13
  • 6546

MySQL里的set global wait_timeout

如果你没有修改过MySQL的配置,缺省情况下,wait_timeout的初始值是28800。 wait_timeout过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能,不过也不能把这个指设置的过小,否则你可能会遭遇到“MySQL has gone away”之类...
  • wulantian
  • wulantian
  • 2014-03-18 15:16
  • 12588

关于set global sql_slave_skip_counter=N 命令的解释

背景知识1:      在主从库维护中,有时候需要跳过某个无法执行的命令,需要在slave处于stop状态下,执行 set global sql_slave_skip_counter=N以跳过命令。常用的且不易用错的是N=1的情况,但N>1时,则不那么顾...
  • sj349781478
  • sj349781478
  • 2017-08-30 14:24
  • 128
    个人资料
    • 访问:804305次
    • 积分:16120
    • 等级:
    • 排名:第779名
    • 原创:689篇
    • 转载:95篇
    • 译文:11篇
    • 评论:87条
    博客专栏
    oracle blog
    最新评论