恢复 Percona 5.5.41-37.0-55 上的故障节点

恢复 Percona 5.5.41-37.0-55 上的故障节点

我有一个 3 节点的 percona 集群,其中 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

Percona 版本

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-dump,并且能够在没有任何innodb_force_recovery标志的情况下启动该节点

如何重新实例化故障节点或如何修复此节点的问题?我可以从捐赠者那里重新同步它吗?

数据库非常小(2GB),因此恢复速度非常快

答案1

由于数据库很小,您可以将其作为新节点启动,并让其与现有节点同步(使用 SST)。

此外,我们建议您升级到 PXC-5.7(或至少 PXC-5.6)。

答案2

要在现有节点上强制执行 SST,您可以执行以下操作:

  • 停止服务,从 datadir 中删除 grastate.dat 文件并重新启动服务。
  • 使用干净的数据目录重新启动节点(使用干净的数据目录重新安装 pxc,然后重新加入集群)。

这里有一些背景信息(尽管是关于避免 SST 而不是强制 SST)。

https://severalnines.com/blog/how-avoid-sst-when-adding-new-node-galera-cluster

相关内容