Sauvegarde automatique de Mysql

Dans cette deuxième partie de la mise en place d'un serveur de backup, nous allons nous occuper principalement de la sauvegarde des bases de données MYSQL. BackupPC permet la sauvegarde complète d'un serveur, ce qui inclus aussi les bases de données, mais il est tellement plus pratique de pouvoir restaurer ses bases MySQL depuis un dump.

Ce script crée un dossier par base de données, et stock les dumps quotidiens à l'intérieur de chaque dossier. Ainsi nous pourrons ajouter ces dossiers à BackupPC et donc facilement restaurer une, ou plusieurs bases de données, à un instant T.

Création de l'utilisateur mysql pour le dump

Se connecter sur le serveur à sauvegarder et ajouter les droits nécessaires pour l'utilisateur de dump. Dans notre cas, je l'ai simplement appelé "backup"

mysql -u root -p (entrez le mot de passe lorsqu'il vous sera demandé)
 GRANT USAGE,SELECT,LOCK TABLES ON *.* TO backup@localhost IDENTIFIED BY 'MonMotDePasseTopSecret';
 FLUSH PRIVILEGES;
Exit

Maintenant on récupère le script automysqlbackup que l'on va stocker dans un dossier temporaire

mkdir tmpbck
cd tmbbck
wget http://downloads.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%203.0/automysqlbackup-v3.0_rc6.tar.gz
tar zxvf automysqlbackup-v3.0_rc6.tar.gz

Installation automatique :

bash install.sh

Edition de la configuration (suffisamment bien documenté pour être compréhensible). Il s'agit de décommenter les lignes nécessaires (user, password, Dir, etc ...)

vi /etc/automysqlbackup/myserver.conf

Là encore, je conseille de choisir un dossier de destination monté sur une partition de grande taille.

A ce stade, vous pouvez tester votre installation :

automysqlbackup /etc/automysqlbackup/myserver.conf

En cas  d'erreur -- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly :

  • Editer le fichier de configuration mySQL my.cnf
  • Ajouter/rechercher la section [mysqldump] et ajouter la ligne :
  • events

Enfin on donne les privilèges à l'utilisateur pour exécuter le script

sudo vi /etc/sudoers

Ajouter cette ligne dans le fichier :

backuppc ALL=NOPASSWD:  /usr/local/bin/automysqlbackup

Le script de sauvegarde MySQL est installé sur votre serveur. Il ne reste plus qu'à l'ajouter à la configuration de BackupPC pour qu'il soit exécuté à chaque lancement d'une nouvelle sauvegarde.

Configuration SSH entre le serveur de Backup et les serveurs clients

En partant du principe que nous réalisons des sauvegardes entre serveurs Linux, le plus simple est d'utiliser Rsync via SSH. Il faut donc configurer une paire de clé et copier la clé publique sur les serveurs clients.

Sur le serveur Client (Celui qu'on veut sauvegarder) :

adduser backuppc
echo "backuppc ALL=NOPASSWD: /usr/bin/rsync" >> /etc/sudoers

Sur le serveur de SAUVEGARDE :

sudo su - backuppc
ssh-keygen -t rsa -C "backuppc"
ssh-copy-id backuppc@IP.DU.CLIENT

Ne reste plus, coté client, qu'à ajouter la directive "from=IP.CLIENT" :

vi ~/.ssh/authorized_keys
from="1.2.3.4" ssh-rsa ....

Laisser un commentaire

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

Vous pourriez aussi être intéressés par

Utiliser plusieurs footer

Utiliser plusieurs footer pour , par exemple, avoir 2 bas de pages différents, 1 pour votre page d'accueil, et 1 pour la reste de votre blog.

Sep 14 2012

Sauvegarde automatique de Mysql

Système de sauvegarde automatique des bases de données MySQL. automysqlbackup sauvegarde toutes vos tables de données et les conservent plusieurs jours, semaines ou mois, selon vos besoins

Août 05 2015