你好,我正在使用Galera与10.1.12-MariaDB和SST方法是xtrabackup-v2
请不要推荐SST = rsync它对我不起作用
我有健康的集群8节点,有时一个或几个节点发生故障。
我只是service mysql
开始,它们成功连接到集群,一切正常。
但有时候,当断开连接的节点几天我就无法将它们连接到集群。
经过几次尝试im rm -fr /var/lib/mysql/*
& rm -fr /var/log/mysql/*
也没有,他们在syslog中有这个消息:
mysqld: [ERROR] Binlog file '/var/log/mysql/mariadb-bin.003079' not found in binlog index, needed for recovery. Aborting.
我知道如何使用它,我可以恢复群集,当我有无法通过上面的消息连接到群集的节点时,所以我这样做:
rm -fr /var/log/mysql/*
service mysql start
但问题是:
我无法关闭所有生产节点,也无法关闭最后一个节点,因为我有8个节点用于服务大型站点流量,而一个正在运行的节点在所有流量进入时都会立即关闭(当然是因为过载)
问题是:
请帮帮我。如何在节点无法连接时将节点连接到群集并出现错误mysqld: [ERROR] Binlog file '/var/log/mysql/mariadb-bin.003079' not found in binlog index, needed for recovery. Aborting.
答案 0 :(得分:1)
gcache
有多大?这可以控制是否可以使用IST重新连接节点。
expire_log_days
的价值是多少?它是如此之小,以至于在您尝试连接之前binlog丢失了吗?如果你失去了一个,并且需要另一个用于SST,你还有6个服务于'大网站'。听起来你需要将部署增加到10个节点才能处理网站,即使节点眨眼也是如此。
听起来你很难接受SST。
看看慢速日志,看看是否有些查询花了很长时间才会间接地强迫你拥有这么多机器。修复几个查询比添加额外的机器要便宜得多。