CentOS7下MariaDB Galera集群节点删库后无法同步问题求助
问题分析与解决
核心原因
Galera集群依赖在线写集复制维持节点一致性,当所有节点停止服务后,你在单节点(第二节点)离线删除数据库的操作未被记录到集群复制日志中。重启集群时,Galera无法识别这种本地离线修改,导致该节点状态与集群预期状态不匹配,进而出现“无法识别已删除数据库”的异常;而后续新建数据库属于在线操作,会通过写集同步到所有节点,因此能正常访问。
解决步骤
1. 停止异常节点的MariaDB服务
systemctl stop mariadb
2. 配置异常节点从正常节点同步全量数据
编辑第二节点的MariaDB配置文件(通常为/etc/my.cnf.d/server.cnf),确保Galera模块配置指向正常的第一节点:
[galera] wsrep_cluster_address="gcomm://第一节点IP地址" wsrep_sst_method=rsync # 若之前使用xtrabackup,保留原有配置即可 wsrep_sst_donor="第一节点主机名或IP"
3. 启动异常节点触发全量同步
直接启动第二节点的MariaDB服务,它会自动从指定的donor节点拉取全量集群数据,同步包括数据库删除在内的所有状态:
systemctl start mariadb
关键注意事项
- 禁止在所有节点离线时单独修改某一节点的数据,这会直接破坏集群一致性。若必须离线修改,需确保所有节点执行相同操作,或修改后让所有节点重新通过全量同步对齐状态。
- 调整SELinux无效的原因是问题本质为集群一致性丢失,而非权限限制——新建数据库能正常同步已证明权限配置无问题。
内容的提问来源于stack exchange,提问作者moh3en
相关产品推荐
相关产品推荐

