You need to enable JavaScript to run this app. 如何安全重启MariaDB Galera集群,解决关机重启后无法启动问题
优惠活动
大模型
产品
解决方案
定价
更多

如何安全重启MariaDB Galera集群,解决关机重启后无法启动问题

MariaDB Galera集群重启失败排查与解决方案

第一步:修复种子节点启动标识(最常见故障原因)

异常关机/重启后所有Galera节点的状态文件会自动禁用启动种子权限,是集群启动失败的最高发原因,操作步骤如下:

  • 先停止所有节点的MariaDB服务:systemctl stop mariadb
  • 找到3个Galera节点的状态文件,默认路径为/var/lib/mysql/grastate.dat,逐一查看文件中seqno字段的数值,找到seqno数值最大的节点(该节点存储了集群最新的数据)
  • 把该节点grastate.dat文件中safe_to_bootstrap的参数值修改为1
  • 以种子节点模式拉起该节点:galera_new_cluster
  • 确认种子节点运行正常后,依次启动剩余2个Galera节点:systemctl start mariadb
  • 3个Galera节点全部正常运行后,最后启动从属复制节点的MariaDB服务

第二步:日志排查其他异常场景

如果第一步操作后仍启动失败,查看MariaDB错误日志定位具体问题,默认日志路径为/var/log/mariadb/mariadb.log,常见问题修复方案如下:

  • 端口占用:Galera集群默认使用4567、4568、4444三个通信端口,执行ss -tulpn | grep -E '4567|4568|4444'检查端口是否被其他进程占用,释放端口后重启即可
  • 权限异常:检查MySQL数据目录所属用户是否为mysql,执行chown -R mysql:mysql /var/lib/mysql修复权限后重启
  • 残留同步锁文件:如果之前集群触发过状态快照同步,异常关机后会残留锁文件,执行rm -f /var/lib/mysql/sst_in_progress删除锁文件后重启
  • 配置错误:检查/etc/my.cnf.d/galera.cnf中wsrep_cluster_address参数是否正确填写了所有3个Galera节点的IP地址,无拼写或IP填写错误

第三步:集群状态验证

所有节点启动完成后,登录Galera节点的MariaDB执行命令SHOW STATUS LIKE 'wsrep_cluster_size';,返回值为3即代表Galera集群运行正常。再登录从属复制节点执行SHOW SLAVE STATUS\G,确认Slave_IO_Running和Slave_SQL_Running两个参数值都为Yes,即代表从属复制同步正常。

内容的提问来源于stack exchange,提问作者Subrato Pal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 09:15:01