📑 Inhaltsverzeichnis

    Ob Online-Shop, mobile App, Mitgliedersystem oder Blog — die wertvollsten Daten Ihrer Website (Benutzerpasswörter, Bestellungen, Einstellungen und Inhalte) liegen in der MySQL-Datenbank. Verlieren Sie Ihre Dateien, können Sie den Code neu schreiben; der Verlust der Datenbank verursacht dagegen materiellen und immateriellen Schaden, der sich nicht wiedergutmachen lässt. In diesem Beitrag haben wir die besten Sicherheitseinstellungen und Backup-Strategien für Ihre MySQL-Datenbank zusammengestellt.

    1. MySQL-Datenbanksicherheit (Härtungsmaßnahmen)

    Ihre Datenbank gegen Angriffe von außen zu schützen ist ebenso wichtig wie sie zu sichern. Setzen Sie diese grundlegenden Schritte um, um Eindringversuche zu verhindern:

    Externen Zugriff schließen (Bind Address)

    Ein nach außen offener MySQL-Server ist eine große Sicherheitslücke. Um nur Verbindungen von localhost (serverintern) zuzulassen, prüfen Sie die bind-address-Einstellung in Ihrer Datei my.cnf oder mysqld.cnf :

    bind-address = 127.0.0.1

    Mit dieser Einstellung werden direkte Verbindungsversuche von außerhalb des Servers blockiert.

    Fernzugriff für den Root-Benutzer verhindern

    Der MySQL-Root-Benutzer hat volle Rechte und ist ein beliebtes Ziel von Brute-Force-Angriffen. Stellen Sie sicher, dass Root sich nur vom Server selbst verbinden kann:

    ALTER USER 'root'@'%' IDENTIFIED BY 'CokGucluSifre123!';
    -- Nur für Zugriff von localhost:
    RENAME USER 'root'@'%' TO 'root'@'localhost';

    🚨 Ransomware und Datenlecks

    In den letzten Jahren durchsuchen automatisierte Bots offene MySQL-Ports (3306) mit schwachen Passwörtern, verschlüsseln die Daten und fordern Lösegeld. Starke Passwörter und die Beschränkung auf lokalen Zugriff senken dieses Risiko erheblich.

    2. Die sicherste mysqldump-Backup-Methode

    Der gängigste Weg, MySQL-Datenbanken zu sichern, ist der Befehl mysqldump . Bei großen Datenbanken braucht es jedoch die richtigen Parameter, damit die Tabellen während des Backups nicht gesperrt werden:

    mysqldump --single-transaction --quick --lock-tables=false -u kullanıcı_adı -p veritabanı_adı > yedek.sql
    • --single-transaction: ermöglicht das Backup ohne Tabellensperre. Während Ihre Website aktiv ist, stocken die Vorgänge nicht.
    • --quick: schreibt die Daten direkt in die Datei und verhindert so übermäßigen Speicherverbrauch bei großen Datenbanken.

    3. Was ist ein inkrementelles MySQL-Backup?

    Ist Ihre Datenbank 5 GB oder größer, belastet ein tägliches Vollbackup von Grund auf sowohl die Server-CPU als auch rasch den Speicherplatz.

    Ein inkrementelles Backup sichert nur die seit dem letzten Backup geänderten oder neu hinzugekommenen Zeilen. Umgesetzt über die Binary-Log -Technologie von MySQL spart dieses Verfahren bis zu 95 % an Speicherplatz und Servertraffic.

    4. Sichere, automatische MySQL-Backups mit Yedekalma

    Backups von Hand zu erstellen und zu verwahren ist mühsam und fehleranfällig. Yedekalma sichert Ihre MySQL-Datenbank automatisch und sicher von Ihrem eigenen Server:

    • Client-seitige AES-256-Verschlüsselung: Ihr SQL-Datenbank-Backup wird mit AES-256 verschlüsselt, bevor es den Server verlässt.
    • Restore-Drill (automatische Prüfung): Jede Woche wird automatisch geprüft, ob die Backups beschädigt sind — ob sich das Archiv öffnen lässt, der Inhalt vollständig ist und die Prüfsumme stimmt.

    Häufig gestellte Fragen

    Wie sichert man eine MySQL-Datenbank?

    Am gängigsten ist der Befehl mysqldump: `mysqldump -u benutzer -p datenbank > backup.sql`. Schreiben Sie das Passwort nicht in die Befehlszeile (es erscheint in der Prozessliste); nutzen Sie stattdessen ~/.my.cnf oder --defaults-extra-file. Für kleine Datenbanken genügt auch der Export-Reiter in phpMyAdmin, bei großen Tabellen droht jedoch ein PHP-Timeout.

    Wie oft sollte ein MySQL-Backup erstellt werden?

    Der Maßstab ist die Datenmenge, deren Verlust Sie hinnehmen können (RPO). Bei einer statischen Präsentationsseite genügt womöglich ein wöchentliches Backup; bei täglich neuen Inhalten ein tägliches; bei einem Shop mit Bestellungen ein stündliches — denn dort bedeutet eine verlorene Stunde unmittelbar verlorene Bestellungen.

    Lässt sich ein inkrementelles Backup für die Datenbank nutzen?

    Bei Dateien ja, beim Datenbank-Dump nicht: mysqldump erzeugt bei jedem Lauf den gesamten Datenbestand, und ein halber Dump lässt sich nicht wiederherstellen. Deshalb arbeitet Yedekalma bei Datei- und E-Mail-Komponenten inkrementell, sichert die Datenbank aber JEDES Mal vollständig. Echte inkrementelle Datenbankwiederherstellung erfolgt über binlog-basiertes PITR und ist ein eigenes Thema.

    Muss ich mein Datenbank-Passwort mit dem Backup-Dienst teilen?

    Nein. Bei Yedekalma erstellt das auf Ihrem eigenen Server laufende PHP-Modul den Dump; MySQL-Benutzername und -Passwort bleiben in der Konfigurationsdatei auf Ihrem Server und werden nie an einen Yedekalma-Server gesendet. Das Panel sieht nur die Metadaten des Backups (Größe, Datum, Prüfsumme).

    Überlassen Sie Ihre Datenbanksicherheit nicht dem Zufall

    Erstellen Sie Ihren MySQL-Backup-Plan mit Yedekalma in fünf Minuten und bewahren Sie Ihre Daten automatisch in verschlüsseltem Cloud-Speicher auf.

    Kostenlos testen