MySQL的高可用方案
我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面:
如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断。
用作备份、只读副本等功能的非主节点的数据应该和主节点的数据实时或者最终保持一致。
当业务发生数据库切换时,切换前后的数据库内容应当一致,不会因为数据缺失或者数据不一致而影响业务。
参考链接
基于多节点可扩展性,部署难易程度,功能复杂度和方案成熟性相关考虑,尝试扩展glaera MySQL cluster方案,并在测试环境中搭建尝试。
预计架构如下:
搭建准备
环境选用与生产环境一致的CentOS 7.8,MySQL 5.7版本。
测试环境选用3台相同环境服务器尝试集群。
[root@mysql01 ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
[root@mysql01 ~]# mysql -V
mysql Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using EditLine wrapper
软件包安装
从glaera官网下载服务器下载系统对应的软件包,由于MySQL需要安装相对应的插件才能启用相应功能,这里直接从官网下载集成了wsrep插件的安装包,并且下载galera软件包备用。
事实上,下载回来的软件包,在安装之前应该对其进行一致性检