MariaDB在Linux上的高可用方案主要包括以下几类:
Galera Cluster是MariaDB原生支持的多主同步复制解决方案,核心特点是数据强一致性(所有节点数据实时同步)、多主写入(所有节点均可接受读写请求)和自动故障转移(节点宕机后,剩余节点仍能继续提供服务)。
典型配置步骤:
mariadb-galera-cluster或galera-3);/etc/mysql/conf.d/galera.cnf),设置wsrep_provider(Galera库路径)、wsrep_cluster_address(集群节点IP列表,初始节点用gcomm://启动集群)、wsrep_node_address(当前节点IP)、wsrep_node_name(节点名称)及sst_method(状态快照传输方法,如xtrabackup-v2);mariadb,后续节点加入集群即可)。SHOW STATUS LIKE 'wsrep_cluster_size'查看集群节点数量,确保所有节点状态正常。Replication是MariaDB传统的高可用方案,通过异步复制实现主节点(Master)与从节点(Slave)的数据同步,适用于读扩展(将读请求分发到从节点)和基础故障恢复(主节点故障时,将从节点提升为新主节点)。
常见拓扑:
log-bin)、设置server-id;从节点配置relay-log、read-only=1,并通过CHANGE MASTER TO命令连接主节点。auto_increment_increment和auto_increment_offset避免主键冲突。这类工具通过虚拟IP(VIP)漂移和故障检测实现高可用,通常与MariaDB Replication配合使用:
keepalived、编辑配置文件(定义VIP、优先级、认证信息)并启动服务。MHA是专门针对MariaDB/MySQL设计的主节点高可用工具,核心功能是自动故障检测(通过心跳机制)、主节点故障转移(从节点提升为新主节点)和数据一致性保障(通过复制线程同步未完成的事务)。
部署步骤:
masterha_default.cnf定义集群节点,app1.cnf指定主从节点信息);