26.05.2023

So sichern Sie MySQL on CentOS 8 mit Bacula

Wir haben es schon kurz gemacht untersuchte, woraus die Bakula besteht. In diesem Tutorial werden wir eine reguläre einrichten MySQL Datenbanksicherungsprozess mit Bacula on CentOS. Wenn Sie es einrichten möchten Backups einer Fernbedienung CentOS 8-Server, lesen Sie diesen Artikel. Nachdem Sie diese Einstellungen vorgenommen haben, können Sie einfach die Einstellungen aus diesem Tutorial hinzufügen und eine Sicherungskopie davon erstellen MySQL Datenbank von einem Remote-Server.
Im Serverspace Sie uns Erstellen Sie einen Server mit bereits installierter App“MySQL".

Paketinstallation

Lassen Sie uns alle notwendigen Pakete installieren.

dnf bacula-director bacula-storage bacula-console bacula- installierenclient

MySQL Konfiguration

Ändern Sie das Standard-Datenbankverwaltungssystem in MySQL falls es noch nicht eingestellt ist.

ändernnatives --config libbaccats.so
Es gibt 3 Programs, die „libbaccats.so“ bereitstellen.
Auswahlbefehl
-----------------------------------------------
1 /usr/lib64/libbaccats-mysql.so
...

Auswählen 1.
Verbinden Sie MySQL.

mysql -u root -p

Erstellen Sie eine Datenbank und einen Benutzer für Bacula.

Datenbank-Bacula erstellen;
Benutzer bacula@localhost erstellen, identifiziert durch „Passwort“;
Gewähren Sie bacula@'localhost' alle Privilegien für bacula.*;
flush privileges;
wunsch

Führen Sie dieses Skript aus, um die Tabellenstruktur zu erstellen.

/usr/libexec/bacula/make_mysql_tables -p

Erstellen Sie für die Sicherungsaufgabe einen neuen Benutzer und weisen Sie ihm nur die erforderlichen Zugriffsrechte zu.

mysql -u root -p
Erstellen Sie den durch „Passwort“ identifizierten Benutzer dump@localhost.
Gewähren Sie Select, sperren Sie Tabellen auf *.* an dump@localhost;
Gewährungsprozess für *.* an dump@localhost;
flush privileges;
wunsch

Skripte vorbereiten

Um Bacula in die Lage zu versetzen, Backups von a zu erstellen MySQL Datenbank müssen Sie sie zunächst sichern. Wir werden Bakulas Fähigkeit nutzen, benutzerdefinierte Skripte vor und nach dem Backup-Job auszuführen. Lassen Sie uns ein Skript erstellen, um einen Datenbank-Dump zu erstellen.

nano /etc/bacula/pre-mysqlSh.

Fügen Sie diese Befehle ein. Notiere dass der abladen Danach muss das Benutzerpasswort eingegeben werden -p parameter ohne a space und ändern Name der Datenbank auf den Namen des Ziel-DB.

#! / Bin / bash
# Vorbereitung des Ordners
rm -rf /opt/mysql-backup/
mkdir -p /opt/mysql-backup/
# Sicherung
mysqldump -u dump -ppassword Datenbankname > /opt/mysql-backup/dump$(date +%Y-%m-%d_%H:%M).sql

Und ein Skript zum Löschen der Festplatte space nach dem Backup.

nano /etc/bacula/post-mysqlSh.

Fügen Sie hier die folgenden Zeilen ein.

#! / Bin / bash
# Löschen des Ordners
rm -rf /opt/mysql-backup/

Machen Sie die Skripte ausführbar.

chmod +x /etc/bacula/pre-mysqlSh.
chmod +x /etc/bacula/post-mysqlSh.

Bacula-Konfiguration

Öffnen Sie die Datei /etc/bacula/bacula-dir.conf und legen Sie das Passwort fest MySQL Bacula Benutzer in der dbpasswort parameter der Katalog .

Katalog {
Name = MeinKatalog
Datenbankname = "bacula"; dbuser = "bacula"; dbpassword = "Passwort"
}

Fügen Sie die Abschnitte mit ein MySQL Backup-Einstellungen finden Sie hier.

FileSet {
Name = MySQLDateisatz
Enthalten {
Optionen {
signature = MD5
}
Datei = /opt/mysql-backup
}}
Zeitplan {
Name = MySQL
Run = Voll täglich um 03:00 Uhr
}
Arbeit {
Name = "MySQLSicherung"
JobDefs = "DefaultJob"
Aktiviert = ja
Level = Voll
FileSet = MySQLDateisatz
Zeitplan = MySQL
Speicher = Datei1
ClientRunBeforeJob = "/etc/bacula/pre-mysql.Sch"
ClientRunAfterJob = "/etc/bacula/post-mysql.Sch"
Schreiben Sie Bootstrap = "/var/spool/bacula/%c.bsr"
}

Starten und aktivieren Sie die Bacula-Dienste.

systemctl enable --now bacula-dir.service
systemctl enable --now bacula-fd.service
systemctl enable --now bacula-sd.service

Jetzt werden zum angegebenen Zeitpunkt Backups der ausgewählten Datenbank erstellt.