- 浏览: 159838 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (118)
- rest (2)
- spring (8)
- java proxy (1)
- linux (9)
- nginx (1)
- 加密算法 (2)
- jquery (3)
- hibernate (9)
- bootstrap (0)
- mysql (15)
- java (6)
- 应用服务器 (2)
- jdbc (3)
- js (3)
- springMVC (3)
- JAVA基础分类 (2)
- mycat (5)
- mybatis (0)
- drools规则引擎 (0)
- 压力测试工具 (1)
- 日志管理 (3)
- maven (3)
- 数据源 (1)
- kryo 序列化 (1)
- dubbo (3)
- com.google.common.collect 工具类 (2)
- memcache (2)
- jdk (1)
- 正则 (2)
- amoeba (1)
- 分布式事务 (2)
- html5 (1)
- spring-data-elasticSearch (2)
- shell脚本 (1)
- Elasticsearch (9)
- 设计模式 (2)
- NOSQL (1)
- hash算法 (4)
- 多线程 (0)
- 电商 (1)
- pinpoint (0)
最新评论
背景知识1:
在主从库维护中,有时候需要跳过某个无法执行的命令,需要在slave处于stop状态下,执行
背景知识2:
MySQL从库从主库上复制binlog文件内容到本地执行。在binlog上命令以event的形式存在,并非一个命令对应一个event。以一个insert语句为例(引擎InnoDB、binglog_format=statement), 在binlog中实际上有三个event,分别为begin\insert\commit 。 命令类型都是Query_log_event.
而set global sql_slave_skip_counter=N的意思,即为在start slave时,从当前位置起,跳过N个event。每跳过一个event,则N--.
与实际情况不符?
看到这里有同学就会问,这是有问题的。如果当前的执行位置是某个insert语句开头,那使用 N=1实际上是从begin\insert\commit的第二个开始执行,这个insert语句还是不能被跳过?
实际上这里还有两个策略:
1、若N=1且当前event为BEGIN, 则N不变,跳过当前event继续。
2、若N=1且当前event处于一个事务之内(BEGIN之后,COMMIT之前),则N不变,跳过当前event继续。
说明:其实上面两个策略合起来就是一句话,当N=1时,会连续跳过若干个event,直到当前所在的事务结束。
当然如果N>1,则每跳过一个event都要N--.
命令举例:
所以我们平时最常用的N=1的情况,都是下一个事务。
假设某个Pos之后执行如下命令( 引擎InnoDB、binglog_format=statement),
insert into t values(x1);
begin;
insert into t values(x2);
insert into t values(x3);
commit;
insert into t values(x4);
你的从库stop在Pos上,假设你要跳过前面几个命令直接执行插入x4的操作,则你的N设置为 4或5或6或7均可。(X1语句为3个event)
小结:
1、set global sql_slave_skip_counter=N中的N是指跳过N个event
2、最好记的是N被设置为1时,效果跳过下一个事务。
3、跳过第N个event后,位置若刚好落在一个事务内部,则会跳过这整个事务
4、一个insert/update/delete不一定只对应一个event,由引擎和日志格式决定
在主从库维护中,有时候需要跳过某个无法执行的命令,需要在slave处于stop状态下,执行
引用
set global sql_slave_skip_counter=N
以跳过命令。常用的且不易用错的是N=1的情况,但N>1时,则不那么顾名思义,本文详细介绍N的意义,及使用注意事项。
背景知识2:
MySQL从库从主库上复制binlog文件内容到本地执行。在binlog上命令以event的形式存在,并非一个命令对应一个event。以一个insert语句为例(引擎InnoDB、binglog_format=statement), 在binlog中实际上有三个event,分别为begin\insert\commit 。 命令类型都是Query_log_event.
而set global sql_slave_skip_counter=N的意思,即为在start slave时,从当前位置起,跳过N个event。每跳过一个event,则N--.
与实际情况不符?
看到这里有同学就会问,这是有问题的。如果当前的执行位置是某个insert语句开头,那使用 N=1实际上是从begin\insert\commit的第二个开始执行,这个insert语句还是不能被跳过?
实际上这里还有两个策略:
1、若N=1且当前event为BEGIN, 则N不变,跳过当前event继续。
2、若N=1且当前event处于一个事务之内(BEGIN之后,COMMIT之前),则N不变,跳过当前event继续。
说明:其实上面两个策略合起来就是一句话,当N=1时,会连续跳过若干个event,直到当前所在的事务结束。
当然如果N>1,则每跳过一个event都要N--.
命令举例:
所以我们平时最常用的N=1的情况,都是下一个事务。
假设某个Pos之后执行如下命令( 引擎InnoDB、binglog_format=statement),
insert into t values(x1);
begin;
insert into t values(x2);
insert into t values(x3);
commit;
insert into t values(x4);
你的从库stop在Pos上,假设你要跳过前面几个命令直接执行插入x4的操作,则你的N设置为 4或5或6或7均可。(X1语句为3个event)
小结:
1、set global sql_slave_skip_counter=N中的N是指跳过N个event
2、最好记的是N被设置为1时,效果跳过下一个事务。
3、跳过第N个event后,位置若刚好落在一个事务内部,则会跳过这整个事务
4、一个insert/update/delete不一定只对应一个event,由引擎和日志格式决定
发表评论
-
mysql 查询指定索引
2017-07-13 12:25 1001select * from course c f ... -
MYSQL 函数 游标
2017-05-15 20:23 555CREATE PROCEDURE `test`.`new_ ... -
mysql 查看数据库是否有写操作(通过mysqlbin)
2016-10-08 18:29 641/usr/local/mysql/bin/mysqlbin ... -
Using filesort
2015-03-23 18:52 475只有在order by 数据列的时候才可能会出现using f ... -
MySQL STRAIGHT_JOIN
2015-03-23 18:36 691MySQL STRAIGHT_JOIN STRAIGHT_JO ... -
mysql密码忘记后重置
2014-12-30 15:51 4851./etc/init.d/mysql stop 2.以安全模 ... -
show processlist status
2014-10-30 10:31 587After create This occurs when t ... -
mysql的tmp_table_size和max_heap_table_size
2014-10-29 17:34 900先说下tmp_table_size吧: 它规定了内部内存临时表 ... -
mysql 主从复制常见问题
2014-10-14 09:47 11701.问题一:主从复制, ... -
Mysql 表所查询
2014-09-23 10:09 548可以通过检查 table_locks_waited和table ... -
Mysql 语句避免重复插入 Insert Select Not Exist
2014-09-18 17:33 924插入数据时,如果为了避免重复插入,而不像通过两次Sql进 可以 ... -
mysql in not in exist not exist 区别
2014-09-17 19:59 3428Mysql In Not In 不对null 进行处理 如果子 ... -
mysql 从数据库slave 状态为no的解决方法
2014-09-11 12:08 659从数据库的状态显示为如下 Slave_IO_Running ... -
MySQL里获取当前week、month、quarter的start_date/end_date
2014-08-12 19:35 757当前week第一天 select date_sub(cur ... -
mysql 日期计算
2014-08-06 18:04 0mysql date()函数 MySQL DATE_SUB() ...
相关推荐
本文实例讲述了mysql 主从数据不一致,提示: Slave_SQL_Running No 的解决方法。分享给大家供大家参考,具体如下: 在slave服务器上通过如下命令 ...mysql> set global sql_slave_skip_counter=1; 3、再启动sl
今天在测试mysql是否同步时,检查数据库发现一台MySQL Slave未和主机同步,查看Slave状态: mysql> show slave status\G Slave_IO_Running: Yes Slave_SQL_Running: No Last_Errno: 1062 …. Seconds_Behind_Master:...
Slave_SQL_Running: Yes It means that it was successful. Errors in the whole process: Slave_IO_Running: Connecting 1. Mine is the wrong host ip. 2. There are still some firewalls on the ...
此外,文件"ModbusTCP_Slave_R102.ACD"可能是RSLogix 5000项目文件,用于存储上述配置和编程信息,用户可以导入该文件以快速设置PLC的Modbus TCP从站功能。 总之,通过理解Modbus TCP协议和AB PLC的特性,我们可以...
连续执行SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1并START SLAVE语句,直到复制被追上(使从站与主站处于不一致状态) 重新加载my.cnf而不重新启动MySQL(仅限于动态变量) 使用PCRE正则表达式或文字字符串杀死符合...
Skip_Counter: 0 Exec_Master_Log_Pos: 106 Relay_Log_Space: 830 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL...
- **write_burst_counter/read_burst_counter**:表示burst传输次数的索引,`C_NO_BURSTS_REQ`作为这两个数的位宽+1。当这些计数器的最高位置为1时,表明所有的传输即将结束。 - **C_MASTER_LENGTH**:该值设为12,...
8配合主/从(Master/Slave)通信模式构建智能楼宇控制系统,这主要基于"64143308_LOGO_Set9_Master_Slave_CODE_v21_Master/Slave_siemens_"项目。 LOGO! 8系统以其紧凑的尺寸、易于编程和强大的功能而受到赞誉。在...
SET GLOBAL sql_slave_skip_counter=1; START SLAVE; ``` - **注释**:跳过从库上的某个错误记录。 - **手动同步** - 在主库上执行: ```sql SHOW MASTER STATUS; ``` - 在从库上执行: ```sql STOP ...
mysql> SET GLOBAL rpl_semi_sync_slave_enabled=1; # 开启半同步复制,默认是关闭的 ``` 同样地,在配置文件中添加以下行以确保MySQL启动时自动开启半同步复制: ```ini [mysqld] rpl_semi_sync_slave_enabled=1 ...
在这个场景中,"Spi_slave_spislave_spi_slave_" 指的是一个SPI从机模块的设计实现。 SPI从机模块的主要功能是接收主机发送的数据,并根据需要向主机返回数据。SPI通信通常包括四个信号线:SCK(时钟)、MISO(主...
rslogix5000 AB PLC ModbusTCP_Slave_R102
它通常包括四个信号线:MISO(Master In Slave Out)、MOSI(Master Out Slave In)、SCK(时钟)和SS(Slave Select,从机选择)。在SPI通信中,时钟由主机提供,从机根据时钟来发送或接收数据。 2. **SPI模式**:...
总之,处理MySQL主从复制错误时,理解`sql_slave_skip_counter`和`reset slave`的作用至关重要。前者能帮助你在不影响数据一致性的情况下跳过特定错误,而后者则允许你彻底重置从库的复制状态,以应对更复杂的问题。...
调通sina33下的AP6212A0(WIFI+BT) 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 ...完成时间:2017/6/28 12:13 版本:V1.3 ... #WIFI_DRIVER_FW_PATH_AP := "/system/vendor/modules/fw_bcm40181a2_apsta...
Mycat高可用和Mycat实现MySQL高可用详解 Mycat高可用是通过KP+HA实现的,而MySQL高可用是通过Mycat实现的。下面将详细讲解Mycat高可用和Mycat实现MySQL高可用。 一、Mycat高可用 Mycat高可用是通过KP+HA实现的,...