Contents
Le besoin de sauvegarder les bases de données MySQL n’est pas aussi universel que celui de sauvegarder régulièrement les utilisateurs finaux, mais lorsqu’il est nécessaire, il devient un élément particulièrement important de l’infrastructure d’une entreprise. Cet article approfondit la nature même d’un processus de sauvegarde automatique de MySQL, y compris les approches gratuites et payantes de la sauvegarde et de la récupération, ainsi que les différentes options de personnalisation. L’article présente à la fois les possibilités de sauvegarde MySQL intégrées et les outils logiciels de sauvegarde MySQL tiers.
Différentes façons de créer une sauvegarde de la base de données MySQL
Passons en revue quelques méthodes populaires et conventionnelles pour créer une sauvegarde de la base de données MySQL sans recourir à des solutions de sauvegarde MySQL tierces.
1. Sauvegarde automatique de la base de données MySQL sous Linux
Un certain utilitaire basé sur Linux/Unix, appelé cron, peut effectuer des sauvegardes MySQL sur ces systèmes. Il s’agit d’un utilitaire relativement simple qui démarre avec le système et lit ses instructions dans un fichier spécifique. Ce fichier de configuration est généralement stocké dans le répertoire /etc/crontab. Voici un exemple de sauvegarde quotidienne fixée à 2 h 30 du matin :
30 2 * * * root mysqldump -u root -pPASSWORD –all-databases | gzip >
/mnt/disk2/database_`data ‘ %m-%d-%Y’`.sql.gz
Les cinq premiers chiffres de la commande représentent l’heure et la date (minutes, heures, jours du mois, mois, jours de la semaine, respectivement), et le fait de mettre « * » à la place de l’un de ces chiffres signifie que n’importe quel chiffre fonctionne.
2. Utiliser PHP pour créer un fichier XML
Il est également possible de recréer votre base de données sous forme de fichier XML, à l’aide de PHP. Ce n’est pas le format le plus sûr au monde lorsqu’il s’agit de restaurer vos données, mais certaines personnes le préfèrent à tout autre. Le bout de code ci-dessous devrait vous permettre d’exporter une base de données spécifique dans un fichier au format .XML :
//connect
$link = mysql_connect($host,$user,$pass);
mysql_select_db($name,$link);
//get all the tables
$query = ‘SHOW TABLES FROM ‘.$name;
$result = mysql_query($query,$link) or die(‘cannot show tables’);
if(mysql_num_rows($result))
{
//prep output
$tab = « \t »;
$br = « \n »;
$xml = ‘<?xml version= »1.0″ encoding= »UTF-8″?>’.$br;
$xml.= ‘<database name= »‘.$name.' »>’.$br;
//for every table…
while($table = mysql_fetch_row($result))
{
//prep table out
$xml.= $tab.'<table name= »‘.$table[0].' »>’.$br;
//get the rows
$query3 = ‘SELECT * FROM ‘.$table[0];
$records = mysql_query($query3,$link) or die(‘cannot select from table: ‘.$table[0]);
//table attributes
$attributes = array(‘name’,’blob’,’maxlength’,’multiple_key’,’not_null’,’numeric’,’primary_key’,’table’,’type’,’default’,’unique_key’,’unsigned’,’zerofill’);
$xml.= $tab.$tab.'<columns>’.$br;
$x = 0;
while($x < mysql_num_fields($records))
{
$meta = mysql_fetch_field($records,$x);
$xml.= $tab.$tab.$tab.'<column ‘;
foreach($attributes as $attribute)
{
$xml.= $attribute.’= »‘.$meta->$attribute.' » ‘;
}
$xml.= ‘/>’.$br;
$x++;
}
$xml.= $tab.$tab.'</columns>’.$br;
//stick the records
$xml.= $tab.$tab.'<records>’.$br;
while($record = mysql_fetch_assoc($records))
{
$xml.= $tab.$tab.$tab.'<record>’.$br;
foreach($record as $key=>$value)
{
$xml.= $tab.$tab.$tab.$tab.'<‘.$key.’>’.htmlspecialchars(stripslashes($value)).'</’.$key.’>’.$br;
}
$xml.= $tab.$tab.$tab.'</record>’.$br;
}
$xml.= $tab.$tab.'</records>’.$br;
$xml.= $tab.'</table>’.$br;
}
$xml.= ‘</database>’;
//save file
$handle = fopen($name.’-backup-‘.time().’.xml’,’w+’);
fwrite($handle,$xml);
fclose($handle);
}
3. Utiliser PHP comme méthode de sauvegarde en premier lieu
Une autre façon d’utiliser PHP pour vos besoins de sauvegarde est de prendre une requête de sauvegarde de base de données dans un fichier PHP et de l’utiliser. La requête dans l’exemple suivant est SELECT INTO OUTFILE.
<?php
include ‘config.php’;
include ‘opendb.php’;
$tableName = ‘mypet’;
$backupFile = ‘backup/mypet.sql’;
$query = « SELECT * INTO OUTFILE ‘$backupFile’ FROM $tableName »;
$result = mysql_query($query);
include ‘closedb.php’;
?>
Et bien sûr, vous aurez besoin d’un moyen de restaurer ce type de sauvegarde, aussi bien. Voici la requête pour cela, c’est une LOAD DATA INFILE :
<?php
include ‘config.php’;
include ‘opendb.php’;
$tableName = ‘mypet’;
$backupFile = ‘mypet.sql’;
$query = « LOAD DATA INFILE ‘backupFile’ INTO TABLE $tableName »;
$result = mysql_query($query);
include ‘closedb.php’;
?>
4. Sauvegarde par SSH
La sauvegarde via SSH est réalisable même pour une (des) base(s) de données MySQL particulièrement importante(s). Dans votre panneau Plesk, commencez par activer l’accès au shell, puis utilisez tout outil permettant d’accéder au serveur en question via SSH (PuTTY ou un outil similaire). Mais avant tout, vous devez spécifier un répertoire cible pour votre future sauvegarde :
CD wwwroot/dbbackup
Ensuite, vous utiliserez mysqldump pour exporter votre base de données dans un fichier spécifique au sein d’un serveur :
mysqldump –add-drop-table -u db_username -p db_name > mybackup.sql
5. Script Server Shell pour sauvegarder une base de données MySQL via Ubuntu
Si vous avez un serveur VPS dédié avec Ubuntu Linux à bord, vous avez une option supplémentaire. Vous pouvez utiliser un script shell spécifique pour sauvegarder toutes vos bases de données sur votre serveur FTP. Voici un exemple :
#!/bin/bash
### MySQL Server Login Info ###
MUSER= »root »
MPASS= »MYSQL-ROOT-PASSWORD »
MHOST= »localhost »
MYSQL= »$(which mysql) »
MYSQLDUMP= »$(which mysqldump) »
BAK= »/backup/mysql »
GZIP= »$(which gzip) »
### FTP SERVER Login info ###
FTPU= »FTP-SERVER-USER-NAME »
FTPP= »FTP-SERVER-PASSWORD »
FTPS= »FTP-SERVER-IP-ADDRESS »
NOW=$(date + »%d-%m-%Y »)
### See comments below ###
### [ ! -d $BAK ] && mkdir -p $BAK || /bin/rm -f $BAK/* ###
[ ! -d « $BAK » ] && mkdir -p « $BAK »
DBS= »$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse ‘show databases’) »
for db in $DBS
do
FILE=$BAK/$db.$NOW-$(date + »%T »).gz
$MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done
lftp -u $FTPU,$FTPP -e « mkdir /mysql/$NOW;cd /mysql/$NOW; mput /backup/mysql/*; quit » $FTPS
Après avoir enregistré ce segment en tant que fichier .sh, l’étape suivante consiste à définir le niveau de permission correct pour ce fichier spécifique :
$ chmod +x /home/your-name/mysql.backup.sh
À partir de ce moment, vous pouvez saisir l’une des deux commandes pour lancer votre processus de sauvegarde :
/home/your-name/mysql.backup.sh
Ou :
sudo /home/your-name/mysql.backup.sh
Vous pouvez également configurer ce script pour qu’il soit exécuté comme une tâche cron. Voici un exemple de script exécuté quotidiennement à minuit, il consiste en deux invites de commande différentes :
$ sudo crontab -e
Et :
@midnight /home/you/mysql.backup.sh >/dev/null 2>&1
Il est également possible que ces scripts fonctionnent avec différentes distributions UNIX ou Linux.
6. Utiliser phpMyAdmin
phpMyAdmin est un outil open source, également gratuit, qui fonctionne avec les bases de données MySQL et MariaDB. L’ordre correct des entrées est le suivant :
- Ouvrez l’outil
- Sélectionnez votre base de données dont vous voulez créer une sauvegarde
- Choisissez l’option « export » dans la barre de navigation
- Cliquez sur la ligne « afficher toutes les options possibles »
- Choisissez les tables spécifiques que vous voulez voir sauvegardées
- Changez le type de compression (ou laissez-le à gzipped, il est recommandé de le faire)
- Lancez la sauvegarde en cliquant sur le bouton « go »
Ceci conclut notre liste des options de sauvegarde les plus populaires pour vos besoins de sauvegarde de base de données MySQL.
Top 12 solutions logicielles et outils de sauvegarde MySQL
Nous avons sélectionné 12 exemples différents de solutions de sauvegarde disponibles, dans le domaine des sauvegardes MySQL – en fournissant des informations sur leurs spécialités et leurs caractéristiques uniques :
Percona XtraBackup est un bon point de départ pour cette liste – une solution de sauvegarde MySQL dont l’utilisation est totalement gratuite, mais qui présente de nombreuses limitations. Il s’agit d’un logiciel de sauvegarde open-source, mais qui ne fonctionne qu’avec les serveurs Percona. Il dispose d’une liste de fonctionnalités relativement importante, y compris le choix entre un emplacement cible de sauvegarde sur site et dans le nuage, les capacités d’automatisation de la sauvegarde, l’évolutivité de la solution, la capacité de restauration ponctuelle, et ainsi de suite. Bien qu’elle soit limitée à un serveur Percona, la solution de sauvegarde et le serveur lui-même sont entièrement gratuits, ce qui en fait un bon choix pour les petites entreprises disposant d’un budget limité.
SQLBackupAndFTP est un autre exemple de solution de sauvegarde MySQL gratuite. Comme son nom l’indique, il s’agit d’une solution de sauvegarde basée sur FTP avec un ensemble de fonctionnalités plutôt basiques. Elle peut offrir l’intégration au nuage, le cryptage des sauvegardes, une variété de notifications, ainsi qu’une disponibilité SaaS générale. Cependant, elle ne dispose pas de fonctionnalités détaillées de planification ou de surveillance, ce qui la rend moins optimale pour diverses entreprises et autres grandes sociétés ayant des exigences plus élevées en matière de protection des données.
Vembu BDR Suite est l’un des nombreux exemples de cette liste qui représente certaines des meilleures solutions sur le marché de la sauvegarde et de la restauration dans son ensemble. Ces types de solutions offrent une variété de modules ou de fonctionnalités différentes pour s’adapter à autant de types de sauvegardes que possible. L’édition Apps and DB Backup de Vembu est celle qui a la capacité d’effectuer des sauvegardes de MS Exchange Server, des sauvegardes de SQL Server et des sauvegardes d’instances MySQL. Elle dispose d’un ensemble impressionnant de fonctionnalités, notamment le cryptage des données AES-256, l’automatisation des sauvegardes, les capacités de restauration granulaire, les sauvegardes à distance, et bien d’autres encore. Cette solution a plusieurs niveaux de prix et le seul moyen de l’essayer est de commander au préalable une version d’essai gratuite de 30 jours pour votre entreprise.
Iperius Backup est une solution qui peut convenir (comme beaucoup d’autres présentées ici) aux petites organisations. Elle n’est peut-être pas aussi populaire que certains de ses concurrents, mais elle reste une solution viable en soi. Elle peut offrir des options de sauvegarde et de restauration pour plusieurs types de bases de données – Oracle, SQL Server, PostgreSQL et MariaDB. Il est déployé sur site à l’aide de Windows Server, et de nombreuses fonctionnalités utiles sont incluses dans le package. Par exemple, il y a des fonctions telles que la compression et le cryptage des données, la capacité de sauvegarde à chaud, aucune limitation du nombre d’instances de bases de données couvertes par licence, etc. Bien que les plans de sauvegarde d’Iperius n’incluent pas le stockage en nuage par défaut, il s’agit toujours d’une option viable qui peut être achetée séparément – avec une option permettant de choisir un autre fournisseur de nuage pour le stockage des sauvegardes, si nécessaire.
Handy Backup n’est peut-être pas la solution la plus populaire dans le domaine de la sauvegarde et de la restauration, mais il s’agit tout de même d’un excellent service multifonctionnel qui peut couvrir une variété de cibles de sauvegarde, des données ordinaires et des images de disque aux VM et aux bases de données, y compris MySQL. En tant qu’outil de sauvegarde MySQL compétitif, Handy Backup offre une interface conviviale, ainsi que des fonctionnalités telles que la vérification des sauvegardes, l’automatisation des sauvegardes, la compression des données, le cryptage des sauvegardes, la planification des tâches, une multitude d’options de stockage des sauvegardes (des disques durs locaux à OneDrive, Amazon S3, Dropbox, NAS ou même FTP/SFTP/FTPS), et bien d’autres encore. Il dispose également d’un portefeuille de nombreuses entreprises de premier plan dans le monde entier qui utilisent la solution, combinée à une licence à vie sans frais supplémentaires.
N-able Cove Data Protection est une solution de sauvegarde MySQL avec un objectif unique – créer des sauvegardes qui sont à la fois faciles à gérer et créées pour être aussi sûres que possible. Il s’agit d’une plateforme SaaS basée sur le web qui offre une variété de fonctionnalités utiles, telles que la surveillance des sauvegardes, l’intégration M365, l’archivage des données et un outil de restauration granulaire des fichiers. Elle prend en charge les sauvegardes virtuelles et physiques, tout en étant capable d’assurer la pérennité de vos sauvegardes grâce à des outils de test de récupération. Il peut créer des sauvegardes de serveurs entiers ou de machines virtuelles spécifiques, et sa console centralisée est idéale pour gérer toutes vos opérations de sauvegarde en un seul endroit.
Ottomatik est une autre excellente solution de sauvegarde MySQL pour les petites entreprises qui privilégient la simplicité et le minimalisme. Il s’agit d’un outil de sauvegarde MySQL basé sur SaaS qui offre une courte liste de fonctionnalités fondamentales en termes de sauvegardes MySQL dans leur ensemble. Il dispose d’une fonction de récupération en un clic, d’un cryptage des données, d’un processus d’installation rapide, peut modifier les autorisations en fonction des rôles spécifiés et est idéal pour les opérations de sauvegarde et de restauration rapides en général. Ottomatik propose quatre plans tarifaires distincts, chacun avec ses propres limites en termes de capacité de stockage hébergée, de 1 à 15 gigaoctets de stockage inclus dans le forfait.
SqlBak est l’un des plus grands acteurs dans ce domaine, offrant un support étendu pour les bases de données PostgreSQL, MS SQL, Azure SQL et MySQL. Il offre les fonctionnalités de base de sauvegarde et de restauration que vous pouvez trouver dans n’importe quel outil de sauvegarde MySQL – mais il y a aussi des fonctionnalités telles que la planification, le cryptage, la compression, la surveillance et la gestion des notifications. Il prend en charge plusieurs emplacements de sauvegarde, y compris Amazon S3, Google Drive, Dropbox, OneDrive et le FTP normal. Il est également extrêmement pratique puisqu’il s’agit d’un service basé sur le Web, ce qui signifie que les opérations de sauvegarde et de restauration peuvent être lancées quand vous le souhaitez, ce qui est extrêmement utile lorsqu’il s’agit d’opérations de restauration soudaines, par exemple.
Commvault est un autre exemple de solution de sauvegarde multifonctionnelle compétente qui peut également servir de logiciel de sauvegarde MySQL. Il s’agit d’un logiciel d’entreprise complet qui est déployé sur site et qui a la capacité de couvrir les comptes cloud, les applications et les serveurs entiers. Dans l’ensemble, il s’agit d’une solution assez complète qui couvre de nombreux aspects des sauvegardes en général. En ce qui concerne MySQL en particulier, elle offre des capacités de sauvegarde et de restauration régulières, ainsi que des sauvegardes incrémentielles, une protection contre les ransomwares, des intégrations avec d’autres services, le cryptage des données, et bien plus encore. Tout cela est également contrôlé à l’aide d’un centre de commande unifié unique et facile à utiliser, ce qui en fait une solution idéale pour tous les types d’entreprises, des plus petites aux plus grandes avec plusieurs sites/MSP.
Comet Backup est une solution de sauvegarde relativement simple mais efficace qui peut également servir de logiciel de sauvegarde MySQL. Il effectue des sauvegardes incrémentielles rapides et utilise sa propre technologie de « chunking », qui consiste à transformer les données en « morceaux » cryptés et compressés afin d’accroître la sécurité et de réduire l’espace de stockage requis pour les sauvegardes. La solution propose également une déduplication côté client, un temps de récupération réduit, une personnalisation des points d’extrémité de la sauvegarde et une API qui lui permet de s’intégrer à diverses sources de données. La solution elle-même est vendue en fonction des catégories spécifiques de données qui doivent être couvertes, et la capacité d’effectuer des sauvegardes MySQL fait partie du service « File & Folders Backup », qui ne coûte que 2 $ par mois.
Quest Rapid Recovery est un autre outil de sauvegarde MySQL notable avec un nom révélateur – puisqu’il se concentre sur la rapidité du processus de récupération des données. Il utilise des instantanés de base de données qui sont ensuite dédupliqués et compressés pour réduire la demande globale de capacité, tout en étant capable de restaurer rapidement toutes les données à leur état d’origine si nécessaire. La solution propose également une hiérarchisation des fichiers, des contrôles d’intégrité et une prise en charge de la plupart des solutions de stockage courantes. Toutes les fonctionnalités de la solution sont combinées dans une interface facile à utiliser avec un tableau de bord et d’autres fonctions pratiques.
Pour terminer cette liste avec une autre solution gratuite, nous avons Backup Ninja – une solution de sauvegarde économique qui se spécialise dans les outils de sauvegarde MySQL tout en prenant en charge d’autres types de bases de données. Il peut offrir des sauvegardes partielles, des sauvegardes incrémentielles, l’automatisation des sauvegardes, le cryptage des données et l’hébergement des sauvegardes dans le nuage ou localement, tout en offrant des statistiques de sauvegarde complètes. Il dispose également d’un tableau de bord centralisé pour toutes ses fonctionnalités afin de faciliter le contrôle global du processus de sauvegarde. Il existe deux versions de Backup Ninja – la première est gratuite et convient mieux aux petites entreprises, tandis que la seconde est payante et ne présente aucune limitation en termes de capacité de stockage ou de cryptage des sauvegardes.
Il est clair qu’il y a beaucoup de concurrence lorsqu’il s’agit d’opérations de sauvegarde de MySQL. Mais il existe une solution que nous n’avons pas encore examinée : Bacula Enterprise. Il s’agit d’une solution de sauvegarde et de restauration large et complète qui s’accompagne de niveaux de sécurité particulièrement élevés. Elle est populaire auprès des militaires, des défenseurs, des gouvernements et des utilisateurs de supercalculateurs, mais elle est également utilisée par des entreprises de taille moyenne en raison de ses licences non basées sur la capacité et de ses racines open source.
L’objectif de la sauvegarde MySQL avec Bacula Enterprise
L’objectif général du module de sauvegarde MySQL de Bacula Enterprise est d’automatiser les processus de sauvegarde et de restauration. En utilisant ce module, l’administrateur de sauvegarde n’a pas besoin de connaître tous les tenants et aboutissants des techniques de sauvegarde MySQL et il n’est pas non plus nécessaire d’avoir des compétences en écriture de scripts. Le module lui-même est capable d’exécuter une variété de fonctions différentes, y compris la sauvegarde automatique des fichiers de configuration et d’autres données importantes du système. Il existe deux méthodes de sauvegarde principales : dump et binaire.
Binaire ou dump ?
Comme il existe deux principales techniques de sauvegarde, il est préférable de présenter une comparaison directe de certaines de leurs caractéristiques dans le tableau ci-dessous.
Capacités | Binaire | Dump |
Restauration d’un seul objet | Non | Oui* |
Taille de la sauvegarde | Grosse | Petite |
Vitesse de sauvegarde | Rapide | Lente |
Vitesse de restauration | Rapide | Très Lente |
Capacité de restauration à n’importe quel moment | Oui | Oui |
Prise en charge des types de sauvegarde différentielle et incrémentielle | Oui | Oui |
Cohérence | Oui | Oui |
Sauvegarde en ligne | Oui | Oui |
Restauration de la version majeure précédente de MySQL | Non | Oui** |
Restauration vers une version majeure plus récente de MySQL | Non | Oui |
* L’édition manuelle d’un fichier dump est nécessaire pour effectuer une restauration d’objet unique.
** L’édition manuelle du fichier SQL peut être nécessaire pour restaurer un dump SQL vers une ancienne version de MySQL si vous utilisez des fonctionnalités qui ne sont pas disponibles sur l’ancienne version. De manière générale, la restauration vers une ancienne version de MySQL n’est pas garantie et n’est pas prise en charge.
Comment ça marche : Binaire
Le principal principe de fonctionnement du mode binaire est son interaction avec Percona XtraBackup qui lui permet d’effectuer le processus de sauvegarde sans l’arrêter au départ. Il est capable de travailler avec InnoDB, XtraDB, MyISAM et d’autres tables avec MySQL non modifié, ou avec un serveur Percona avec XtraDB.
Auparavant, il y avait deux façons principales d’effectuer une copie de base de données. La première impliquait de copier la base de données active, et cette méthode avait une chance assez élevée d’avoir toutes sortes de divergences dans la copie, ou pouvait simplement manquer tous les changements qui se produisaient dans la base de données pendant la durée de la création de la copie. La deuxième méthode implique l’arrêt complet de la base de données pour faire une copie cohérente. Mais le problème avec la seconde méthode est que, potentiellement (et généralement), chaque seconde de non-fonctionnement de la base de données d’une entreprise représente une perte de revenus, quelle que soit la taille de la période d’arrêt.
C’est précisément dans ce but que le module MySQL Percona de Bacula et l’outil Percona XtraBackup offrent une solution efficace à ce problème en permettant de créer des sauvegardes complètes ou incrémentielles de tout type de bases de données MySQL actives et en fonctionnement. Un autre avantage du mode connecté à Percona est qu’il n’a pas besoin d’utiliser de gros fichiers temporaires qui sont les doublons des données que vous sauvegardez ou restaurez.
Le processus de restauration est relativement simple, les données étant restaurées dans un emplacement temporaire, puis modifiées pour être cohérentes à l’aide de la fonction « prepare ». Avec d’autres solutions, cette fonction serait très gourmande en ressources, et ce n’est pas quelque chose que vous voudriez exécuter dans une situation de restauration urgente. Par conséquent, pour éviter d’ajouter beaucoup de temps au processus de restauration, la fonction de « préparation » de Bacula est exécutée automatiquement et à l’avance, juste après la création de la sauvegarde. Cela ajoute un peu de temps au processus de sauvegarde mais rend le processus de restauration beaucoup plus rapide. En cas d’urgence, le temps de restauration est bien plus critique que le temps de sauvegarde. Et dans une situation où la base de données en question est une base de données extrêmement importante et à fort taux de transaction, cette différence de temps peut même faire la différence entre la capacité d’une organisation à rester en activité.
La nécessité de cette combinaison du module Bacula Enterprise MySQL Percona et des outils Percona vient de l’existence problématique du MySQL traditionnel. Le principal problème de la création d’un « mysqldump » est qu’il ne s’agit pas d’une véritable sauvegarde binaire des données, l’ensemble du processus consiste à convertir la base de données entière en une grande quantité d’instructions SQL et à les traiter ensuite dans le cadre du processus de restauration. Ce processus exact, tel qu’il est, devient extrêmement lent au fur et à mesure que votre base de données est plus grande.
Les outils Percona s’avèrent utiles lorsque la situation impose une lourde charge à MySQL en général et que les performances et la stabilité sont nécessaires au bon fonctionnement du système.
Toute entreprise qui a besoin de restaurer son serveur défaillant rapidement et en toute sécurité pour protéger son activité d’une défaillance grave, voire d’un black-out, peut profiter de cette combinaison spéciale d’outils Percona avec les capacités de Bacula pour rendre le processus de restauration aussi rapide que possible dans un environnement d’entreprise.
Comment ça marche : Dump
Le mode Dump est plus ou moins l’option de sauvegarde « traditionnelle » qui reste pertinente dans certains cas. Il s’appuie sur les fichiers journaux créés au cours du processus d’existence de la base de données MySQL, et ces journaux sont utilisés par le système de récupération à un moment donné pour réaliser diverses prouesses avec vos données, comme la réplication, la protection, etc.
La méthode de sauvegarde par défaut consiste à vider chacune de vos bases de données séparément, ce qui signifie que vos données ne seront pas complètement cohérentes si vous restaurez plusieurs bases de données qui ont été sauvegardées à des périodes différentes et qui n’ont aucune cohérence entre elles. C’est un problème important si vous travaillez avec plusieurs bases de données à la fois, et la solution de Bacula est d’enregistrer les fichiers journaux générés pendant chacun des processus de sauvegarde et de les lire pour s’assurer que toutes les bases de données sont globalement cohérentes entre elles à un moment donné.
Il existe également une autre solution, plus globale, à ce problème – l’option all_databases. Elle permet à toutes les bases de données d’être vidées en une seule fois, ce qui vous assure que vos bases de données sont cohérentes et que vous pouvez effectuer plusieurs sauvegardes incrémentielles après la sauvegarde complète sans crainte d’incohérence globale.
Il y a une liste spécifique de fichiers que l’agent MySQL génère dans le catalogue Bacula pour un seul « test » de votre base de données. Vous pouvez voir ces entrées de fichiers et ce à quoi elles servent dans le tableau ci-dessous.
Nom de fichier | Dispositif | Description |
global-grants.sql | global | Liste unifiée qui spécifie tous les utilisateurs, leurs mots de passe et autres données spécifiques |
createdb.sql | database | Script de création de la base de données |
grants.sql | database | Une liste qui spécifie chaque utilisateur qui est associé à cette base de données |
data.sql | database | Les données de votre base de données en format dump |
settings.txt | global | Les variables actuelles du serveur MySQL |
schema.sql | database | Script sur la création du schéma de la base de données |
my.cnf | global | Données de configuration du serveur pour MySQL |
Modes de restauration MySQL
L’agent MySQL de Bacula est capable de fournir plusieurs modes de restauration différents, tels que :
- Restauration d’une seule base de données
- Restauration d’un dump ou d’un journal binaire
- Restauration ponctuelle
- Restauration des utilisateurs et des rôles
Comme indiqué, Bacula Enterprise utilise les outils Percona avec son agent MySQL pour restaurer toute information sur une sauvegarde en mode binaire.
Conclusion
Comme pour presque tous les types de bases de données, il est essentiel pour toutes les organisations et entreprises d’effectuer des sauvegardes de MySQL, afin de garantir la continuité de leurs activités et de respecter leurs obligations légales. Si l’on considère l’omniprésence de la base de données relationnelle dans l’industrie et le commerce, il est tout à fait naturel qu’il existe une vaste gamme de solutions de sauvegarde MySQL pour tous les types d’entreprises.
Il existe une solution de sauvegarde pour pratiquement tous les types d’utilisateurs : les petites entreprises aux budgets limités peuvent utiliser Backup Ninja ou SQLBackupAndFTP pour leurs tâches de sauvegarde de base sans coût supplémentaire, tandis que les grandes entreprises sont susceptibles d’obtenir plus de valeur avec des solutions complètes telles que Vembu BDR Suite ou Bacula Enterprise.
Trouver une solution capable de créer une sauvegarde de vos bases de données MySQL ne devrait pas être une tâche trop difficile. Nous espérons que cet article vous a aidé à identifier la solution qui conviendrait le mieux à votre cas d’utilisation spécifique.