假设a、b两台服务器做了mysql双主。

有一表是tab是这样的

create table tab(id int primary key auto_increment,name varchar(20));

然后

如果是mysql主从的话,a是主,那么a机

reset master;

然后b机

stop slave;

reset slave;

start slave;

如果在a机reset master之后,b机stop slave之前,有新数据插入、删除等操作,当b机start slave后,b机不会掉数据,那些新数据还是会被同步过来的。

b机为什么要stop slave;reset slave;start slave;  ?

因为reset master之后,到b机show slave status\G虽然还是显示同步,但你可以到a机show master status;就会发现与b机show slave status\G显示的Master_Log_File、Relay_Master_Log_File不是指向a机show master status显示的日志文件,因为reset master之后,a机的binlog日志从XXX.000001开始,之前的日志都被删除了。指向的日志不是a机的日志,b机当然是不可能同步了。即使在a机插入一条新记录,b机的Master_Log_File、Relay_Master_Log_File还是没有指向新的日志,重启mysql也无效。

错误提示:

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'could not find next log'

只有stop slave;reset slave;start slave;才能重新指向新的日志。在b机执行这几个命令之前,插入到a机的数据,在运行这几条命令之后,会同步回来的,所以不用担心数据丢失。

但是mysql双主却会因为一些特殊情况造成数据出问题还会影响同步。

假设前面的表tab,有数据

+----+------+

| id | name |

+----+------+

|  1 | a    |

|  2 | b    |

|  3 | c    |

因为双主同步,所以a机和b机数据是一致的

a机

reset master;

然后b机

stop slave;

reset slave;

start slave;

在a机reset master之后,b机stop slave之前,有新数据分别插入到a机和b机,这时问题就来了

在a机

insert into tab(name) values('d');

select * from tab;

得到

+----+------+

| id | name |

+----+------+

|  1 | a    |

|  2 | b    |

|  3 | c    |

|  4 | d    |

b机

select * from tab;

+----+------+

| id | name |

+----+------+

|  1 | a    |

|  2 | b    |

|  3 | c    |

前面说了原因,我就不再说了。

然后在b机

insert into tab(name) values('e');

select * from tab;

得到

+----+------+

| id | name |

+----+------+

|  1 | a    |

|  2 | b    |

|  3 | c    |

|  4 | e    |

这时a机的表tab,id 是4 ,name是d,b机的表tab,id是4,name是e,表的id是主键,这种情况下,执行 stop slave;reset slave;start slave;也是会报错的。

Last_Error: Error 'Duplicate entry '4' for key 'PRIMARY'' on query. Default database: ''. Query: 'insert into test.tab(name) values('d')'

原因就是表的id是主键,b机的id已经有4了,这样a机的

id  name

|  4 | d    |

同步不过来,就有这种错误了,只能人工把数据同步后,再重新change master......

总结:要reset master ,就要禁止用户增删改。如果是为网站提供数据库服务的,就要关了网站,防止增删改操作,再reset吧。想把reset master做成脚本,在计划任务中运行?要三思才好

转载于:https://blog.51cto.com/8540864/1737969

mysql双主使用reset master清除日志要小心相关推荐

  1. 搭建Mysql双主双从报错The slave I/O thread stops because master and slave have equal MySQL server UUIDs(已解决)

    搭建Mysql双主双从报错The slave I/O thread stops because master and slave have equal MySQL server UUIDs 具体问题 ...

  2. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变...

    [Mysql主从复制] 解决的问题 数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了. 负载均 ...

  3. mysql双主不同步问题

    1:碰到的问题 mysql双主数据库数据不同步 错误提示类似于:1032等,不仅1032我跳过后还有其他的各种问题 查询网上后,基本是两种解决方案1:直接跳过这一步错误,但是因为不同步太多了,跳过之后 ...

  4. MySQL学习四:MySQL双主双从

    文章目录 一.MySQL双主双从配置开启二进制日志 二.[配置每一台MySQL服务器的配置文件my.cnf](https://blog.csdn.net/huiguo_/article/details ...

  5. python mysql 双主_keepalived+mysql双主复制高可用方案

    MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.而Keepalived通过虚拟IP,实现了 ...

  6. MySQL双主(主主)架构方案

    在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动.因此,如果是双主或者多主,就会增加mysql入 ...

  7. keepalived mysql双主架构图_基于MySQL双主的高可用解决方案理论及实践

    MySQL在互联网应用中已经遍地开花,但是在银行系统中,还在生根发芽的阶段.本文记录的是根据某生产系统实际需求,对数据库高可用方案从需求.各高可用技术特点对比.实施.测试等过程进行整理,完善Mysql ...

  8. ubuntu mysql双主热备配置_MySql双主热备配置

    用四台服务器配置MySql双主热备配置 主机1服务器ip:192.168.31.208 主机2服务器ip:192.168.31.133 从机1服务器ip:192.168.31.121 从机2服务器ip ...

  9. mysql 双主 脑裂_MySQL双主(主主)架构方案

    在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动.因此,如果是双主或者多主,就会增加mysql入 ...

最新文章

  1. SQL基础整理(事务)
  2. 使用 C# 开发浏览器扩展
  3. 此处不允许使用分组函数_Excel中使用Vlookup函数实现数据分组
  4. linux 空硬盘,linux – dd在整个磁盘上,但不想要空的部分
  5. SpringCloud(三) Eureka之服务注册发现以及实现工程间调用
  6. 基于机器学习的GitHub敏感信息泄露监控
  7. 干货:手把手教你在音频分类DCASE2017比赛中夺冠
  8. 嵌入式程序员是难得的全栈型程序员
  9. 深入理解ES6之——迭代器与生成器
  10. T420i 简单拆机 (只拆两个螺丝清灰)
  11. 计算长方体和四棱锥的表面积和体积(类的继承)
  12. 云清联盟发布全网协同防护方案 2017将继续“纳新”共赢未来
  13. 处理团队人际关系的九大原则
  14. 服务器上可以监控虚拟机操作吗,使用Vmware免费虚拟机监控程序的利弊
  15. F-Groundhog Looking Dowdy2020牛客暑期多校训练营(第九场)(尺取法)
  16. 如何改变computed执行_皓儿日记2019-11-09 《执行力》读书笔记
  17. 苹果地图副总裁_挖角苹果高级计算机视觉专家 Mapillary地图更新添一员大将
  18. 蓝桥杯第09届 2018年省赛C/C++大学生B组——试题8 日志统计
  19. 产品经理——从一块钱看产品推广方案
  20. 记2019北航计算机夏令营体验~

热门文章

  1. 在线视频解决方案供应商
  2. Java使用POI读取和写入Excel指南
  3. centos7上开启单用户模式
  4. 区块链最积极的布局者:国内5大银行已将“区块链”应用到5大场景当中
  5. DevExpress控件使用系列--ASPxTreeList
  6. scrollTo与smoothScrollTo的区别
  7. VC2010 编译问题
  8. jsp自定义标签学习
  9. Android 编程下代码之(QQ消息列表滑动删除)
  10. 潜移默化学会WPF--绘图 学习(一)