Faire une « vraie » sauvegarde MySQL (Innodb & MyISAM)

Percona XtraBackup

Depuis que je travaille dans le monde du web, je vois des scripts de sauvegardes MySQL qui sont fait « maison » ou copier depuis des forums ou blogs de bidouilleurs, dont la plupart utilisent mysqldump avec plus ou moins les bonnes options.

Avec MyISAM cela ne pose pas trop de problème car une simple copie de fichier suffit à avoir une sauvegarde à peu près utilisable, mais pas consistante.

Par contre avec Innodb (qui est le moteur par défaut depuis la version 5.1), cela devient presque impossible. Avec le temps j’ai développé mon script perso aussi qui permet de palier à tout les cas que j’ai rencontré (oui il y a des gens qui appellent leur tables DROP/SELECT/INSERT ou y mettent des espaces dans les noms de champs).

Aujourd’hui j’ai décidé de me pencher réellement sur le sujet et trouver une solution pro. Laquelle ?

Percona Xtrabackup

Je connais cette société depuis longtemps, ils sont une référence dans le monde LAMP et surtout MySQL (d’ailleurs nous utilisons leur plugins pour superviser vos serveurs avec Nagios & Cacti). C’est donc naturellement que j’ai attaqué par leur outil phare pour voire s’il faisait ce que je voulais :

  • Sauvegardes de toutes les types de tables (MyISAM/Innodb/Archive etc….)
  • Gestion des transactions Innodb
  • Sauvegarde à chaud quand cela est possibles
  • Compression des sauvegardes
  • Horodatage des sauvegardes

La suite de cette étude m’a donné les outils nécessaires :

Etape 1: Installer Xtrabackup

Voir ici : https://www.percona.com/doc/percona-xtrabackup/2.1/installation.html

Etape 2: Gardez votre mot de passe secret

  • vim /root/.my.cnf
  • jouter les lignes suivantes :
[client] user=root
pass=xxxxxx

  • chmod 600 /root/.my.cnf

Etape 3: Le script de sauvegarde

Etape 4: Mettre le tout en crontab

  • vim /etc/crontab
  • 17 12 * * * root /opt/webofmars/wom-mysql-backup >/dev/null

Voilà vous aurez une sauvegarde cohérente de vos bases de données et pas besoin de bidouiller avec des boucles for en bash 😉

 

PS: webofmars est spécialiste de vos sauvegardes en environnement LAMP, n’hésitez pas à nous contacter si vous voulez étudier une prestation autour de ces sujets.

No comments

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.