背景:公司zabbx系统的数据库在设计之初采用的是主主复制,可是在运行一段时间后常常会出现如下报错数据库
故障状况:zabbix正常运行,监控、告警、展现等一切正常,控制台全部条目删除正常,可是新增操做都会报duplicate key的错 以前采用的方法就是: 一、直接进库找到重复的数据进行删除(**方法比较暴力,不推荐你们采用**) 二、后来在网上查相关解决方案有一个是在MySQL的配置文件里面增长配置跳过1062类型的告错(**这样那两个库之间的数据就不一致了,并且一直跳过报错也不是长久之计**) 后来就直接改了架构变成了主从复制, 昨晚通过一位大佬指点,而后查资料进一步了解了一下MySQL的引擎以及这个报错的解决方案(**基于自增ID的设置**) MySQL默认引擎InnoDB我这里也没改
数据库引擎InnoDB和MyISAM对比参考这篇文章:
http://www.javashuo.com/article/p-ggggexrz-dx.html架构
仅做为学习,在这里记录一下: 原理就是两边须要同步的表,一张表的id用奇数,一张表的id用偶数。把自增数都改成2,可是起始id一个奇数,一个偶数 先查看一下个人数据库目前自增ID的配置,目前个人配置是自增ID起始值是1,步长也是1
修改一下配置,MySQL自增ID修改方法参考这篇文章:
https://m.jb51.net/article/42883.htmide
观察运行一段时间,有异常再来追加更新学习