So sichern/wiederherstellen Sie MySQL/Mariadb und PostgreSQL mit automatysqlbackup und autopostgresqlbackup -Tools

So sichern/wiederherstellen Sie MySQL/Mariadb und PostgreSQL mit automatysqlbackup und autopostgresqlbackup -Tools

Wenn Sie Datenbankadministrator sind (DBA) oder sind verantwortlich für die Aufrechterhaltung, Unterstützung und Wiederherstellung von Datenbanken, Sie wissen, dass Sie es sich nicht leisten können, Daten zu verlieren. Der Grund ist einfach: Daten zu verlieren bedeutet nicht nur den Verlust wichtiger Informationen, sondern kann Ihr Unternehmen auch finanziell schädigen.

MySQL/Mariadb & Postgresql Backup/Wiederherstellung

Aus diesem Grund müssen Sie immer sicherstellen, dass:

1. Ihre Datenbanken werden regelmäßig gesichert,
2. Diese Backups werden an einem sicheren Ort aufbewahrt, und
3. Sie führen regelmäßig Restaurierungsübungen durch.

Diese letzte Aktivität sollte nicht übersehen werden, da Sie nicht auf ein großes Problem stoßen möchten, ohne zu üben, was in einer solchen Situation getan werden muss.

In diesem Tutorial stellen wir Ihnen zwei nette Dienstprogramme vor, die Sie sichern können Mysql / Mariadb Und PostgreSQL Datenbanken jeweils: automatysqlbackup Und autopostgresqlbackup.

Da letzteres auf dem ersteren basiert, werden wir unsere Erklärung konzentrieren automatysqlbackup und unterstreichen Unterschiede mit autopgsqlbackup, Wenn überhaupt.

Es wird dringend empfohlen, die Backups in einer im Backup-Verzeichnis montierten Netzwerkfreigabe zu speichern, damit Sie im Falle eines systemweiten Absturzes weiterhin abgedeckt sind.

Lesen Sie die folgenden nützlichen Leitfäden auf MySQL:

MySQL Basic Database Administration -Befehle MySQL Backup- und Wiederherstellungsbefehle für Datenbankadministration PHPMYBACKUPPRO - Ein webbasiertes MySQL -Backup -Tool MySQLDUMPER: Ein PHP- und Perl -basierter MySQL -Datenbank -Backup -Tool 15 Basic MySQL -Interviewfragen für Datenbankadministratoren für Datenbankadministratoren

Installation von MySQL / Mariadb / Postgresql -Datenbanken

1. Dieser Leitfaden nimmt an, dass Sie haben müssen Mysql / Mariadb / PostgreSQL Instanz, die ausgeführt wird, wenn nicht, installieren Sie bitte die folgenden Pakete:

Fedora-basierte Verteilungen:

# YUM Update && yum install mariadb mariadb-server mariadb-libs postgresql postgresql-server postgresql-libs 

Debian und Derivate:

# Aptitude Update && Aptitude Installieren Sie Mariadb-Client Mariadb-server Mariadb-common postgresql-Client PostgreSQL postgresql-common 

2. Sie haben einen Test Mysql / Mariadb / PostgreSQL Datenbank, die Sie verwenden können (Sie werden darauf hingewiesen NICHT benutze das eine oder das andere automatysqlbackup oder autopostgresqlbackup In einer Produktionsumgebung, bis Sie diese Tools kennengelernt haben).

Erstellen Sie ansonsten zwei Beispieldatenbanken und füllen Sie sie vor dem Fortschritt mit Daten. In diesem Artikel werde ich die folgenden Datenbanken und Tabellen verwenden:

Mysql/Mariadb
Datenbank erstellen mariadb_db; TABLE CREATE TECMINT_TBL (UserID int auto_increment Primärschlüssel, Benutzername varchar (50), Isactive Bool); 
Erstellen Sie MySQL -Datenbank PostgreSQL
Datenbank erstellen postgresql_db; Tabelle tecmint_tbl (Userid Serial Primärschlüssel, Benutzername varchar (50), Isactive Boolean); 
Erstellen Sie die PostgreSQL -Datenbank

Installieren von Automysqlbackup und autopgsqlbackup in CentOS 7 und Debian 8

3. In Debian 8, Beide Tools sind in den Repositories erhältlich. Die Installation ist daher so einfach wie das Laufen:

# APTitude Installieren 

Wohingegen in Centos 7 Sie müssen die Installationsskripte herunterladen und ausführen. In den folgenden Abschnitten konzentrieren wir uns ausschließlich auf die Installation, Konfiguration und Testen dieser Tools auf Centos 7 da für Debian 8 - Wo sie fast aus der Schachtel arbeiten, werden wir später in diesem Artikel die notwendigen Erläuterungen vornehmen.

Installieren und Konfigurieren von Automysqlbackup in CentOS 7

4. Beginnen wir mit der Erstellung eines Arbeitsverzeichnisses im Inneren /opt So laden Sie das Installationsskript herunter und führen Sie es aus:

# Mkdir/opt/automatysqlbackup # cd/opt/automatysqlbackup # wget http: // ufpr.dl.SourceForge.net/project/automatysqlbackup/automatysqlbackup/automatysqlbackup%20ver%203.0/automatysqlbackup-v3.0_RC6.Teer.GZ # TAR ZXF AUTOMYSQLBACKUP-V3.0_RC6.Teer.GZ # ./Installieren.Sch 

.
Installieren von AutomysQLbackup in CentOS-7

5. Die Konfigurationsdatei für automatysqlbackup befindet sich im Inneren /etc/automatysqlbackup unter dem Namen MyServer.Conf. Werfen wir einen Blick auf die relevantesten Konfigurationsrichtlinien:

MyServer.conf - automatysqlbackup konfigurieren
# Benutzername zum Zugriff auf die mySQL Server config_mysql_dump_username = 'Wurzel' # Passwort config_mysql_dump_password ='IhrPassword' # Hostname (oder IP -Adresse) von MySQL Server config_mysql_dump_host ='Lokalhost' # Backup -Verzeichnis config_backup_dir ='/var/backup/db/automatysqlbackup' # Liste der Datenbanken für das tägliche/wöchentliche Backup e.G. ('Db1 "db2" db3' ...) # auf () festgelegt, ich.e. Leer, wenn Sie alle Datenbanken konfigurieren möchten, config_db_names = ((AddyourDatabase -Namen hier hinzufügen) # Liste der Datenbanken für monatliche Sicherungen. # auf () einstellen, ich.e. Leer, wenn Sie alle Datenbanken sichern möchten, config_db_month_names = ((AddyourDatabase -Namen hier hinzufügen) # Welchen Tag möchten Sie monatliche Backups?? (01 bis 31) # Wenn der gewählte Tag größer als der letzte Tag des Monats ist, wird es am letzten Tag des Monats erfolgen. # Auf 0 einstellen, um monatliche Backups zu deaktivieren. Config_do_monthly = "01" # Welchen Tag willst du wöchentliche Backups?? (1 bis 7, wobei 1 Montag ist) # Setzen Sie auf 0, um wöchentliche Backups zu deaktivieren. Config_do_weekly = "5" # Setzen Sie die Rotation täglicher Backups. Wert*24 Stunden # Wenn Sie nur die heutigen Backups behalten möchten, können Sie 1 wählen, ich.e. Alles älter als 24 Stunden wird entfernt. Config_rotation_daily =6 # Setzen Sie die Rotation für wöchentliche Backups. Wert*24 Stunden. Ein Wert von 35 bedeutet 5 Wochen. Config_rotation_weekly =35 # Setzen Sie die Rotation für monatliche Backups. Wert*24 Stunden. Ein Wert von 150 bedeutet 5 Monate. Config_rotation_monthly =150 # Integrieren Sie die Datenbankanweisung in Backup erstellen? Config_mysql_dump_create_database ='NEIN' # Separate Sicherungsverzeichnis und -datei für jede DB? (Ja oder Nein) config_mysql_dump_use_separate_dirs ='Ja' # Wählen Sie den Komprimierungstyp. (GZIP oder BZIP2) config_mysql_dump_compression ='gzip' # Was möchten Sie Ihnen verschickt werden?? # - Protokoll: Nur Protokolldatei senden # - Dateien: Protokolldatei und SQL -Dateien als Anhänge senden (siehe Dokumente) # - STDOut: Gibt das Protokoll einfach auf den Bildschirm aus, wenn man manuell ausführt. # - Quiet: Senden Sie nur Protokolle, wenn ein Fehler an die MailAddr eintritt. Config_mailContent ='ruhig' # E -Mail -Adresse zum Senden von E -Mails an Senden an? ([E -Mail geschützt]) config_mail_address ='Wurzel' # Möchten Sie Ihre Backups mit OpenSSL verschlüsseln? # Config_encrypt = 'no' # Wählen Sie ein Passwort, um die Sicherungen zu verschlüsseln. #Config_encrypt_password = 'password0123' #Befehl vor der Backups auszuführen (mit der Verwendung) #config_prebackup = "/etc/mysql-backup-Pre" #Befehl nach Backups ausführen (Untersuchung) #config_postbackup = "/etc/mySql-backups -Post" 

Sobald Sie konfiguriert haben automatysqlbackup Nach Ihren Bedürfnissen raten Sie dringend, sich das anzusehen Liesmich Datei gefunden in /etc/automatysqlbackup/readme.

MySQL -Datenbanksicherung

6. Wenn Sie bereit sind, führen Sie das Programm aus und geben Sie die Konfigurationsdatei als Argument aus:

# automatysqlbackup/etc/automatysqlbackup/myServer.Conf 
Konfigurieren Sie Automysqlbackup auf CentOS 7

Eine schnelle Inspektion der täglich Verzeichnis wird das zeigen automatysqlbackup hat erfolgreich ausgeführt:

# PWD # ls -lr täglich 
MySQL Daily Database Backup

Natürlich können Sie einen Crontab -Eintrag zum Ausführen hinzufügen automatysqlbackup zu einer Tageszeit, die am besten zu Ihren Bedürfnissen entspricht (1:30 bin jeden Tag im folgenden Beispiel):

30 01 * * */usr/local/bin/automatysqlbackup/etc/automatysqlbackup/myServer.Conf 

Wiederherstellung eines MySQL -Backups

7. Jetzt lass uns das fallen lassen mariadb_db Datenbank absichtlich:

MARIADB -Datenbank fallen lassen

Lassen Sie es uns erneut erstellen und das Backup wiederherstellen. In der Mariadb -Eingabeaufforderung typisch:

Datenbank erstellen mariadb_db; Ausfahrt 

Dann lokalisieren:

# CD/var/backup/db/automatysqlbackup/täglich/mariadb_db # ls 
Suchen Sie MariADB -Datenbanksicherung

Und stelle das Backup wieder her:

# MySQL -U root -p mariadb_db verwenden mariadb_db; Mariadb [(keine)]> aus tecmint_tb1 auswählen; 
Wiederherstellen Sie Mariadb Backup

Installieren und Konfigurieren von autopostgresqlbackup in CentOS 7

8. Damit Autopostgresql fehlerlos arbeiten Centos 7, Wir müssen zuerst einige Abhängigkeiten installieren:

# yum install mutt sendmail 

Dann wiederholen wir den Vorgang wie zuvor:

# Mkdir/opt/autopostgresqlbackup # cd/opt/autopostgresqlbackup # wget http: // ufpr.dl.SourceForge.net/project/autopgsqlbackup/autopostgresqlbackup/autopostgresqlbackup-1.0/autopostgresqlbackup.Sch.1.0 # MV Autopostgresqlbackup.Sch.1.0/opt/autopostgresqlbackup/autopostgresqlbackupup.Sch 

Lassen Sie uns das Skript ausführbar machen und Start / ermöglichen der Service:

# CHMOD 755 Autopostgresqlbackupup.SH # SystemCtl Start postgresql # systemctl aktivieren postgreSQL 

Schließlich werden wir den Wert der Sicherungsverzeichniseinstellung bearbeiten, um:

autopostgresqlbackup.sh - autopostgresqlbackup konfigurieren
Backupdir = "/var/backup/db/autopostgresqlbackup" " 

Nach dem Durchgang der Konfigurationsdatei von automatysqlbackup, Das Konfigurieren dieses Tools ist sehr einfach (dieser Teil der Aufgabe bleibt Ihnen überlassen).

9. In Centos 7, im Gegensatz zu Debian 8, autopostgresqlbackup ist am besten wie die Postgres Systembenutzer. Um dies zu tun, sollten Sie entweder zu diesem Konto wechseln oder zu seiner Crontab -Datei einen Cron -Job hinzufügen:

# crontab -u postgres -e 
30 01 * * */opt/autopostgresqlbackup/autopostgresqlbackupup.Sch 

Das Backup -Verzeichnis muss übrigens erstellt werden, und seine Berechtigungen und der Gruppenbesitz müssen rekursiv festgelegt werden 0770 Und Postgres (Auch dies wird nicht notwendig sein Debian):

# mkdir/var/backup/db/autopostgresqlbackup # chmod -r 0770/var/backup/db/autopostgresqlbackup # chgrp -r postgres/var/backup/db/autopostgresqlbackup 

Das Ergebnis:

# cd/var/backup/db/autopostgresqlbackup # pwd # ls -lr täglich 
PostgreSQL Daily Database Backup

10. Jetzt können Sie die Dateien bei Bedarf wiederherstellen (denken Sie daran, dies als User Postgres zu tun, nachdem Sie die leere Datenbank nachgebildet haben):

# Gunzip -c postgresql_db_2015-09-02.Mittwoch.sql.gz | PSQL postgreSQL_DB 

Überlegungen in Debian 8

Wie bereits erwähnt, nicht nur die Installation dieser Tools in Debian ist einfacher, aber auch ihre jeweiligen Konfigurationen. Sie finden die Konfigurationsdateien in:

  1. Automatysqlbackup:/etc/default/automatysqlbackup
  2. Autopostgresqlbackup:/etc/default/autopostgresqlbackupup

Zusammenfassung

In diesem Artikel haben wir erklärt, wie man installiert und verwendet automatysqlbackup Und autopostgresqlbackup (Wenn Sie lernen, wie Sie den ersten verwenden, können Sie auch die zweite beherrschen), zwei großartige Datenbank -Backup -Tools, mit denen Ihre Aufgaben als DBA- oder Systemadministrator / Ingenieur viel einfacher werden können.

Bitte beachten Sie, dass Sie dieses Thema durch Einrichten erweitern können E-Mail Benachrichtigungen oder Senden von Sicherungsdateien als Anhänge per E -Mail - nicht ausschließlich erforderlich, kann aber manchmal nützlich sein.

Denken Sie als letztes Hinweis daran, dass die Berechtigungen von Konfigurationsdateien auf das Minimum festgelegt werden sollten (0600 in den meisten Fällen). Wir freuen uns darauf zu hören, was Sie über diesen Artikel denken. Fühlen Sie sich frei, uns eine Notiz mit dem folgenden Formular zu geben.