MySQL Dump auf Debian ohne Passwortabfrage

Ich bin gerade dabei auf einem Debian-Server ein Backup-System aufzubauen, und dazu gehört natürlich auch (eigentlich: vor allem!) der Inhalt der Datenbanken. Aber dafür gibt es ja mysqldump. Also mal schnell was in den crontab geschrieben:


mysqldump --all-databases > backup.sql

Dann noch schnell mal den Befehl ausprobiert:


mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect

Hmm… Das ist natürlich ungünstig. MySQL braucht einen Benutzer um sich anzumelden, nur dazu braucht es dann auch ein Passwort. Natürlich kann man jetzt einen Benutzer „backup“ oder so anlegen, nur dann hat man ein Problem: Jeder kann während des Backups mit ps das Passwort des Benutzer sehen. Und ihm kein Passwort geben ist auch keine Option, speziell wenn man phpMyAdmin aus dem Internet erreichbar macht (mache ich natürlich nicht!)

Doch es geht einfacher:


mysqldump --defaults-extra-file=/etc/mysql/debian.cnf --all-databases --events > /opt/mysqldump/complete-dump.sql

Mit –default-extra-file kann eine Konfigurationsdatei angeben werden, die zusätzlich gelesen werden kann. Und zumindest Debian bringt gleich eine mit, in der der Benutzer „debian-sys-maint“ inklusive Passwort steht. Den Benutzer braucht Debian zum Beispiel um MySQL herunterfahren zu können. Und auch für Backup-Zwecken eignet sich der Benutzer prima.

Und weiter gehts mit dem Backup!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert