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: