MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Sichern von MySQL-Backups:Ein Leitfaden

Wenn Sie jemals MySQL verwendet haben, haben Sie wahrscheinlich Sicherungskopien Ihrer Datenbank erstellt. Wenn Sie Sicherungskopien Ihrer Datenbank erstellt haben, haben Sie wahrscheinlich schon einmal darüber nachgedacht, wie Sie diese sichern können. Wie genau das geht, verraten wir Ihnen in diesem Blogbeitrag.

Warum sollten Sie Ihre MySQL-Backups sichern?

Bevor wir Ihnen sagen, wie Sie Ihre MySQL-Backups sichern sollten, sollten wir Ihnen wahrscheinlich sagen, warum Sie sie überhaupt sichern sollten. Was meinen wir überhaupt mit dem „Sichern“ Ihrer MySQL-Backups? MySQL-Backups sollten standardmäßig sicher sein, oder? Leider ist nicht alles so einfach, wie es scheint. Um sichere MySQL-Backups zu erstellen und zu pflegen, sollten Sie die folgenden Dinge beachten:

  1. Machen Sie sicher Ihre MySQL-Backups

  2. Speichern Sie sicher Ihre MySQL-Backups

  3. Übertragen Sie sicher Ihre MySQL-Backups

Das ist natürlich leichter gesagt als getan, aber wir geben Ihnen einige allgemeine Ratschläge, die Sie in die richtige Richtung führen können.

MySQL-Backups sichern

  1. Um Ihre MySQL-Backups sicher zu erstellen, indem Sie beispielsweise mysqldump verwenden, sollten Sie den Benutzernamen und das Passwort Ihres MySQL-Benutzer innerhalb von my.cnf. Sie können sogar eine .my.cnf-Datei in Ihrem Home-Verzeichnis erstellen, den Benutzernamen und das Passwort dort speichern und dann die Option --defaults-extra-file verwenden, um MySQL anzuweisen, diese Datei nach der globalen Optionsdatei zu lesen:

    [mysqldump]
    user=demo_user
    password=demo_password

    Auf diese Weise müssen Sie Ihr MySQL-Passwort nicht mehr angeben, wenn Sie mysqldump ausführen – indem Sie Ihren Benutzernamen und Ihr Passwort in my.cnf einfügen, machen Sie Ihr Passwort für niemanden außer DBAs einsehbar.

  2. Erwägen Sie einen Blick auf mysqldump-secure:Es ist ein POSIX-kompatibles Wrapper-Skript für mysqldump mit Verschlüsselungsfunktionen. Das Tool kann Datenbanken als separate Dateien sichern. Datenbanken können auch von der Sicherung ausgeschlossen werden. Das Tool kann auch Ihre MySQL-Datenbanken verschlüsseln und es ist auch selbstvalidierend, was bedeutet, dass es Ihnen sagt, wenn etwas schief geht, was passiert ist und wie es behoben werden kann. Wenn Sie also nach einer Alternative zu mysqldump suchen, sollten Sie es auf jeden Fall in Betracht ziehen versuchen.

  3. Sobald Sie eine Sicherungskopie Ihrer MySQL- oder MariaDB-Datenbankinstanzen erstellt haben, sollten Sie diese verschlüsseln. Die Chancen stehen gut, dass Daten eines der wertvollsten Vermögenswerte Ihres Unternehmens sind, und indem Sie sie verschlüsseln, können Sie sicherstellen, dass sie ordnungsgemäß geschützt sind. Glücklicherweise ist das Verschlüsseln von MySQL-Backups nicht sehr komplex und kann auf verschiedene Arten durchgeführt werden, darunter das Verschlüsseln der lokalen Datei und das Verschlüsseln des Backups im laufenden Betrieb. Um eine lokale Kopie Ihres Backups zu verschlüsseln, erstellen Sie einfach ein Backup der in MySQL gespeicherten Daten und verschlüsseln es dann beispielsweise mit OpenSSL (ersetzen Sie das Passwort durch das Passwort, das Sie verwenden möchten):

    $ openssl enc -aes-256-cbc -salt -in backup.tar.gz -out backup.tar.gz.enc -k password

    Ihr Backup kann entschlüsselt werden, indem Sie Folgendes ausführen:

    $ openssl aes-256-cbc -d -in backup.tar.gz.enc -out backup.tar.gz -k password


    Sie können auch erwägen, Ihre Backups on-the-fly zu verschlüsseln. Dazu müssten Sie im Allgemeinen eine Verschlüsselung implementieren, wenn das Backup erstellt wird (d. h. das Backup erstellen, komprimieren und verschlüsseln). So machen Sie das für MySQL mit mysqldump (Ihr Backup würde verschlüsselt_backup.xb.enc heißen):

    mysqldump --all-databases --single-transaction --triggers --routines | gzip | openssl  enc -aes-256-cbc -k password > encrypted_backup.xb.enc

    Sie können Ihre Backups auch mit ClusterControl verschlüsseln:einfach die Kästchen „Use Compression“ und (oder) „Enable Encryption“ im letzten Schritt des Backups ankreuzen und fertig . Ja, so einfach ist das!
     

Vielleicht möchten Sie sich auch ein Shell-Skript namens mysql_secure_installation (oder mariadb_secure_installation, wenn Sie MariaDB verwenden) ansehen. Das Skript ermöglicht Ihnen Folgendes:

  • Legen Sie ein Passwort für die Root-Konten von MySQL fest.

  • Root-Konten entfernen, auf die von außerhalb des lokalen Hosts zugegriffen werden kann.

  • Entfernen Sie alle anonymen Benutzerkonten und die Testdatenbank, auf die anonyme Benutzer zugreifen können.

Wenn Sie MySQL oder MariaDB mit ClusterControl bereitstellen, was Sie mit der Community Edition frei tun können, kümmert sich der Bereitstellungsprozess automatisch um diese Sicherheitsmaßnahmen.

Zusammenfassung

Wenn es um die Sicherung Ihrer MySQL-Backups geht, ist die Liste der Dinge, die Sie tun können, ziemlich lang. Wir hoffen, dass Ihnen dieser Blogbeitrag einige Ideen gegeben hat, was Sie tun können, um Ihre MySQL- oder MariaDB-Backups zu sichern:Im Allgemeinen können Backups gesichert werden, indem Sie Ihr Passwort beim Aufrufen von mysqldump unsichtbar machen, auch wenn Sie Ihre Backups lokal oder auf einem Server verschlüsseln. die-fliege.