为什么我们mysql从双主切换到了单主?
mysql 为什么 切换 我们 双主
2023-09-27 14:23:02 时间
MySQL 双主 + Keepalived 的模式问题
因为两个 MySQL 节点都可以写入,极其容易造成主键重复,进而导致主从同步失败。同步失败后,Slave_SQL_Thread 线程就停了,除非解决了同步的错误,才能继续进行同步。同步失败的错误,不会只有一条记录有问题,往往是一大片的同步问题。两个节点互相缺少对方的数据。主从的同步延迟,切换到新主库后,数据不是最新。当出现不一致时,无法确定以哪个库为准。
造成上面问题的主要原因就是因为两个节点都支持写入 + 双主可以随时切换。
解决这种问题的方案有 改进自增主键的步长(影响未评估),使用 GTID 方案(未验证)。即使这样,双主同步的风险还是有,而且不同步后,如何处理是个大难题。
那么回到我们最初的想法:为什么会选择双主?
最开始的目的就是为了高可用。双主就是说有一台 MySQL 节点挂了,另外一台能够顶上,对于用户来说是无感的,给运维人员一定的缓冲时间来排查 MySQL 故障。另外老的主节点恢复后,不用改配置就能立即成为从节点。
相关文章
- 为什么阿里不推荐使用MySQL分区表?
- Mysql使用大全
- Mysql 的存储过程和存储函数
- mysql常见字符串处理函数结束
- mysql-server-5.7.25的my.cnf
- 【MySQL基础】MySQL安装第二弹-Percona5.7安装
- MySQL调优
- 转:为什么Uber宣布从Postgres切换到MySQL?
- MySQL统计同比环比SQL
- mysql 多实例案例实战
- sqoop命令,mysql导入到hdfs、hbase、hive
- eclipse中spring访问mysql的简易实现
- Mysql命令大全
- Mysql学习(四)之通过homebrew安装mysql后,为什么在系统偏好设置里没有mysql
- MySql集群FAQ----mysql主从配置与集群区别、集群中需要多少台计算机呢?为什么? 等
- [MySQL FAQ]系列 — 为什么InnoDB表要建议用自增列做主键
- 为什么mysql索引要使用B+树,而不是B树,红黑树
- java 操作本地数据库 mysql
- Ubuntu Navicat for MySQL安装以及破解方案
- 【MySQL】MySQL表的增删改查(进阶)
- MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- mysql 为什么加了排序字段后不会自动按ID升序排序?
- 为什么python程序中查询MySQL的语句在数据表数据增加之后,查询到的结果却没变,还是原来的数据量?
- mysql读写分离配置,利用mybatis实现,解释为什么dynamicDataSource不行