Sauvegarde MySQL avec mylvmbackup
On va réaliser une sauvegarde de MySQL sans interruption (à chaud) avec mylvmbackup.
1 - Création d'un logical volume pour stocker nos bases MySQL
Cf le tutoriel sur la gestion des partitions avec LVM.
2 - Création et import d'un base de données
Nous allons créer et importer un base de données assez volumineuse pour le test. On va récupérer une db échantillon "employees" sur la page > https://launchpad.net/test-db et la stocker dans /home :
cd /home/
apt-get install bzip2
tar xvjf employees_db-full-1.0.6.tar.bz2
cd employees_db
mysql -u root -p
create database employees;
exit
mysql -u root -p employees < employees_partitioned.sql
3 - Déplacement des bases MySQL dans la partition LVM
Arrêt de mysql :
service mysql stop
Déplacement des fichiers :
mv /var/lib/mysql /DbStorage1/
cp /etc/mysql/my.cnf /etc/mysql/my.cnf.back
nano /etc/mysql/my.cnf
[mysqld]
datadir=/DbStorage1/mysql
Démarrage de MySQL :
service mysql start
4 - Installation et paramétrage de mylvmbackup
Installation du packet :
apt-get install mylvmbackup
Edition de la configuration :
cp /etc/mylvmbackup.conf /etc/mylvmbackup.conf.back
nano /etc/mylvmbackup.conf
[mysql]
user=root
password=
host=
port=
socket=
mycnf=/etc/mysql/my.cnf
#
# LVM-specific options
#
[lvm]
vgname=mysql
lvname=DbVol1
backuplv=
lvsize=2G
[misc]
innodb_recover=1
Création des répertoires temporaires :
mkdir -p /var/tmp/mylvmbackup/backup
mkdir -p /var/tmp/mylvmbackup/mnt
Sauvegarde :
mylvmbackup
On peut récupérer les sauvegardes dans le répertoire /var/cache/mylvmbackup/backup/. On peut modifier le chemin de ce répertoire dans la propriété "backupdir" du fichier /etc/mylvmbackup.conf.