如何在 MySQL 中避免单点故障?

Sherwin.Wei Lv7

如何在 MySQL 中避免单点故障?

回答重点

一般会使用主从架构来避免单点故障,主数据库处理写操作,从数据库处理读操作,主数据库故障时可以切换到从数据库。

同时会对数据进行定期备份并存储在不同的物理位置,以便在发生故障时能够快速恢复数据。

并且需要建立监控系统,实时监控数据库的健康状态,并在发生故障时及时告警。

扩展知识

MySQL 主从,主备或者主主架构介绍

主备架构

主备架构就是主机和备机。备机是不干活的,也就是不对外提供服务,只是默默地在同步主机的数据,然后等着某一天主机挂了之后,它取而代之!

至于切换的话主要有两种方式:

  • 人工切换,得知主机挂了之后手动把备机切成主机,缺点就是慢。
  • 利用 keepalived 或者自己写个脚本来作监控,然后自动切换。

主从架构

主从架构就是主机和从机。从机和备机的区别在于,它是对外提供服务的,一般而言主从就是读写分离,写请求指派到主机,读请求指派到从机

主主架构

主主就是两个都是主机

一般情况下都不会有主主的架构。

当同时有两个写请求达到分别打到两个主库同一张表的时候,则会同时创建一条记录,这条记录的 ID 是一样的,这样数据同步之后其中有一条就会被覆盖了,这会出问题的。

Comments