You are here
How to move InnoDB-Logfiles on a Galera Cluster
My first thought was:
The problem is not the Galera Cluster itself, it is the rsync-SST (
wsrep_sst_method = rsync) that could cause trouble and destroy your InnoDB-Logfiles, by simply overwriting or deleting them.
So I tried to confirm my thought and realised, I was wrong. This works anyway, because the node just takes the dataset from the other node. (The backup plan was ready now.)
Preferably, the cluster does an IST, where it only fetches the missing write sets. This way you do not have the danger of losing the InnoDB-Logfiles.
I will explain the way I would recommend:
First edit the
my.cnf. The variable you have to change is
innodb_log_group_home_dir. This variable contains the location of the log files. Set it to the new location of the logfiles.
After this is done, stop the MySQL server:
shell> service mysql stop - OR, for those who have systemd - shell> systemctl stop mysql
When the server is stopped, move the log files from the location they have been to their new location:
shell> mv /path/to/old/location/ibdata* /new/location/
After you made sure, they have been moved to the right place, you can start the MySQL-Server again.
shell> service mysql start - OR - shell> systemctl start mysql
If this goes wrong, you can force an SST by removing
grastade.dat in the datadir. This will cause the node to fetch the dataset from a other node and return to work.