У меня есть кластер percona с 3 узлами, где 1 из узлов имеет из-за сбоя сервера проблемы с последовательностью журналов InnoDB.
180425 17:32:53 InnoDB: Error: page 151555 log sequence number
12431827692
InnoDB: is in the future! Current system log sequence number
12421876039.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-reco .
very.html
InnoDB: for more information.
Остальные 2 узла все еще работают, и кластер доступен. Когда я запускаю отказавший узел, он синхронизируется, но продолжает выдавать вышеуказанные сообщения об ошибках.
Я использую версию percona 5.5.41-37.0-55.
The relevant part of the mysql config is.
[mysqld]
datadir=/var/lib/mysql
user=mysql
# Path to Galera library
wsrep_provider=/usr/lib/libgalera_smm.so
# Cluster connection URL contains the IPs of node#1, node#2 and node#3
wsrep_cluster_address=gcomm://10.213.157.8,10.213.157.9,10.213.157.10
# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW
# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB
# This changes how InnoDB autoincrement locks are managed and is a
requirement for Galera
innodb_autoinc_lock_mode=2
# Node #1 address
wsrep_node_address=10.213.157.10
# SST method
wsrep_sst_method=xtrabackup
Я могу получить mysql-дампы отказавшего узла, а также могу запустить узел без каких-либо innodb_force_recovery
флаг
Как повторно создать экземпляр отказавшего узла или как исправить проблему с этим узлом? Можно ли с донора заново синхронизировать с нуля?
База данных довольно мала (2 ГБ), поэтому восстановление может быть выполнено довольно быстро.
Чтобы принудительно выполнить SST на существующем узле, вы можете:
Вот некоторая предыстория (хотя речь идет об избежании SST, а не о его принудительном использовании).
https://severalnines.com/blog/how-avoid-sst-when-adding-new-node-galera-cluster
Поскольку база данных мала, вы можете просто запустить ее как новый узел и позволить ему синхронизироваться с существующим узлом (используя SST).
Кроме того, мы рекомендуем вам перейти на PXC-5.7 (или, по крайней мере, на PXC-5.6).