基本的M-S结构   现在master与slave主机数据一致:   mysql> select * from t1; +------+ | id   | +------+ |    1 | |    2 | |    4 | +------+ 3 rows in set (0.00 sec)   我们来模拟故障现象: 在master上,通过设置sql_log_bin来控制命令是否写入二进制日志中,运行命令: set sql_log_bin=OFF; ); set sql_log_bin=ON;…
目录 基于gtid搭建主从MySQL 一.GTID的使用 二.GTID的简介 三.GTID的构成 四.查看GTID的执行情况 4.1 gtid_executed 4.2 gtid_own 4.3 gtid_purged 五.MySQL的幂等性 六.拓展: 七.实验: 小实验1: 小实验2: 基于gtid搭建主从MySQL 一.GTID的使用 想让主从之间使用gtid的方式同步数据,需要我们在配置文件中开启mysql对gtid相关的配置信息 找到my.cnf ,在mysqld模块中加入如下的配置.…
MySQL多字节字符集造成主从数据不一致问题 来自江羽   2013-04-27 16:03:56|  分类: 默认分类|举报|字号 订阅 转载: http://backend.blog.163.com/blog/static/20229412620133274030845/    问题产生线上一直有个历史遗留问题,最近DBA提了出来,所以跟了下代码,作了下简单分析,问题描述如下:在master-slave的环境下,对master上的某个表中的数据插入,会导致master-slave数据不一致的…
测试环境:主从架构,操作系统liunx 运行pt-table-checksum需要先安装以下依赖包: yum install perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes -y 1.模拟主从不一致的环境: 在主库上创建一个新表,并插入几条记录,如下: mysql> create table t1() not null ); Query OK, rows affected (0.00 sec) mysql> insert into t1(,,…
用pt-table-checksum校验数据一致性 Jun 4th, 2013 主从数据的一致性校验是个头疼的问题,偶尔被业务投诉主从数据不一致,或者几个从库之间的 数据不一致,这会令人沮丧.通常我们仅有一种办法,热备主库,然后替换掉所有的从库.这不仅代价非常大,而且类似治标不治本的方案,让人十分不安.因此我 们需要合适的工具,至少帮我们回答下面三个问题: 是从库延迟导致了用户看到的数据不一致,还是真的主从数据就不一致? 如果不一致,这个比例究竟多大? 下次还会出现吗? 回答清楚这几个问题,有助…
前言: 目前MySQL数据库最常用的是主从架构,大多数高可用架构也是通过主从架构演变而来.但是主从架构运行时间长久后容易出现数据不一致的情况,比如因从库可写造成的误操作或者复制bug等,本篇文章将会详细探究出现主从不一致及如何解决这种问题. 1.造成主从不一致的原因 造成主从不一致的可能原因有很多,下面简单列举几条: 主库binlog格式为Statement,同步到从库执行后可能造成主从不一致. 主库执行更改前有执行set sql_log_bin=0,会使主库不记录binlog,从库也无法变更这…
问题 要解决问题就是怎么对比不一致,然后在不影响业务的情况下,修复数据不一致的问题,把从库缺少的数据补上 下面是能想到和找到的几个方案 1 从新从0开始同步,虽然对主库的使用没有影响,但是那么大的数据量,对性能,网络影响有点大,数据丢失的应该很少 2 主库dump数据,锁库,然后同步,不好. 影响业务使用 3 percona-toolkit 中的工具来校验和同步,从介绍上来看是符合现在的情况的,使用上还需要学习和认识才行. 下面是几个参考链接 percona-toolkit工具 官方地址 MyS…
之前一篇: 主从更换ip之后重新建立同步 情况时这样的 昨天晚上主动2个机器都迁移了,然后今天才把主动重新连接上,但是从库的偏移量是从今天当前时刻开始的,也就是说虽然现在主动看似正常,其实是少了昨天的部分数据,由于从库的数据丢失了,早晚还是要填坑的. 问题 要解决问题就是怎么对比不一致,然后在不影响业务的情况下,修复数据不一致的问题,把从库缺少的数据补上 下面是能想到和找到的几个方案 1 从新从0开始同步,虽然对主库的使用没有影响,但是那么大的数据量,对性能,网络影响有点大,数据丢失的应该很少…
通常情况下我们主库的binlog只保留7天,如果从库故障超过7天以上的数据没有同步的话,那么主从架构就会异常,需要重新搭建主从架构. 本文就简单说明下如何通过mysqldump主库的数据恢复从库的主从架构 下面就以我们在线上业务中实际遇到的情况做个简单说明 本文就以以下集群为例: 主库: 192.168.38.249 从库: 192.168.38.230, 192.168.36.175 主从模式: 开启GTID 基于Auto_Position模式复制 状态: 主库正常,从库都延迟过多,报错"Go…
在slave服务器上通过如下命令 mysql> show slave status\G; 显示如下情况: Slave_IO_Running: Yes Slave_SQL_Running: No 表示slave不同步 解决方法一(忽略错误,继续同步): 1.先停掉slave mysql> stop slave; 2.跳过错误步数,后面步数可变 mysql> set global sql_slave_skip_counter=1; 3.再启动slave mysql> start sla…