Comment sauvegarder MySQL on CentOS 8 avec Bacula
Nous avons déjà brièvement examiné en quoi consiste le Bakula. Dans ce tutoriel, nous allons mettre en place un MySQL processus de sauvegarde de base de données à l'aide de Bacula sur CentOS. Si vous souhaitez mettre en place sauvegardes d'une télécommande CentOS 8 serveur, lisez cet article. Après avoir terminé ces paramètres, vous pouvez simplement ajouter les paramètres de ce didacticiel et obtenir une sauvegarde du MySQL base de données à partir d'un serveur distant.
Dans le Serverspace vous pouvez créer un serveur avec l'application déjà installée "MySQL".
Installation des packages
Installons tous les packages nécessaires.
MySQL paramétrage
Remplacez le système de gestion de base de données par défaut par MySQL s'il n'est pas déjà défini.
Il y a 3 programmesrams qui fournissent 'libbaccats.so'.
Commande de sélection
-----------------------------------------------
1 /usr/lib64/libbaccats-mysql.so
Sélectionnez 1.
Connectez-vous à MySQL.
Créez une base de données et un utilisateur pour Bacula.
créer un utilisateur bacula@localhost identifié par 'password' ;
accorde tous les privilèges sur bacula.* à bacula@'localhost' ;
FLUSH PRIVILEGES;
sortie
Exécutez ce script pour créer la structure de la table.
Pour la tâche de sauvegarde, créez un nouvel utilisateur et attribuez-lui uniquement les droits d'accès nécessaires.
créer un utilisateur dump@localhost identifié par 'password' ;
accorder select, verrouiller les tables sur *.* à dump@localhost ;
accorder le processus sur *.* à dump@localhost ;
FLUSH PRIVILEGES;
sortie
Préparation de scripts
Pour rendre Bacula capable de créer des sauvegardes d'un MySQL base de données, vous devez d'abord la vider. Nous utiliserons la capacité de Bakula à exécuter des scripts personnalisés avant et après la tâche de sauvegarde. Créons un script pour créer un vidage de base de données.
Insérez-y ces commandes. Notez que le déverser le mot de passe utilisateur doit être saisi après le -p parameter sans un space et changer nom de la base de données au nom du DB cible.
# Préparation du dossier
rm -rf /opt/mysql-sauvegarde/
mkdir -p /opt/mysql-sauvegarde/
# Sauvegarde
mysqldump -u dump -ppassword nom_base_de_données > /opt/mysql-sauvegarde/vidage$(date +%Y-%m-%d_%H:%M).sql
Et un script pour effacer le disque space après la sauvegarde.
Insérez ici les lignes suivantes.
# Vider le dossier
rm -rf /opt/mysql-sauvegarde/
Rendre les scripts exécutables.
chmod +x /etc/bacula/post-mysql. Sh
Configuration Bacula
Ouvrez le fichier /etc/bacula/bacula-dir.conf et définissez le mot de passe pour MySQL bacula utilisateur dans le mot de passe db parammètre de la Catalogue .
Nom = MonCatalogue
nombase = "bacula"; dbuser = "bacula"; dbpassword = "mot de passe"
}
Insérez les sections avec MySQL paramètres de sauvegarde ici.
Nom = MySQLEnsemble de fichiers
Inclure {
Choix {
signatvaleur = MD5
}
Fichier = /opt/mysql-backup
}}
Calendrier {
Nom = MySQL
Exécuter = Complet tous les jours à 03h00
}
Emploi {
Nom = "MySQLSauvegarde"
JobDefs = "Travail par défaut"
Activé = oui
Niveau = Complet
Jeu de fichiers = MySQLEnsemble de fichiers
Horaire = MySQL
Stockage = Fichier1
ClientRunBeforeJob = "/etc/bacula/pre-mysql.sh"
ClientRunAfterJob = "/etc/bacula/post-mysql.sh"
Ecrire Bootstrap = "/var/spool/bacula/%c.bsr"
}
Démarrez et activez les services Bacula.
systemctl activer --now bacula-fd.service
systemctl activer --now bacula-sd.service