Xtrabackup es una herramienta que permite hacer una copia de todo el directorio de datos de MySQL, sin la necesidad de detener el servicio. Se puede enviar la copia a otro servidor para contingencia. Es mejor que hacer la copia usando mysqldump.
Para el ejercicio se ha usado CentOS 7.
Ejecutar en ambos servidores:
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install percona-xtrabackup-24
Hacer la copia en el servidor origen:
mkdir -p /var/xtrabackup/mysql
xtrabackup -u root -pCLAVE_MYSQL –backup –target-dir=/var/xtrabackup/mysql
xtrabackup –prepare –target-dir=/var/xtrabackup/mysql
chown -R mysql.mysql /var/xtrabackup/mysql
Copiar el archivo /etc/my.cnf y el directorio /var/xtrabackup/mysql al servidor destino que tenga la misma versión de MySQL. La copia del directorio se puede hacer con rsync.
Para restaurar la copia, ejecutar esto en el servidor destino. Primero se debe detener el servicio MySQL:
xtrabackup –move-back –target-dir=/var/xtrabackup/mysql –datadir=/var/lib/mysql
chown -R mysql.mysql /var/lib/mysql
Iniciar el servicio MySQL.
El proceso se puede mejorar haciendo la copia directamente en el servidor destino, usando sshfs. Con esto se monta un directorio del servidor destino en el servidor origen.
Instalar sshfs en el servidor origen:
yum install epel-release
yum install sshfs
Crear directorio en ambos servidores:
mkdir -p /backup/mysql
Montar el directorio desde el servidor origen:
sshfs root@IP_DESTINO:/backup/mysql /backup/mysql
Con esto la copia hecha en el directorio /backup/mysql se almacena en el servidor destino.