Erstellung .my.cnf Datei
Man erstellt eine Datei ~/.my.cnf
mit der Berechtigung 600
im Home Verzeichnis des ausführenden Users.
Wie man unter Linux von einer MySQL Datenbank eine Sicherung erstellt ohne der direkten Eingabe des Benutzernamen und des Passworts
Manchmal ist es notwendig automatisiert eine Sicherung von einen oder mehreren MySQL Datenbanken zu erstellen. Als Beispiel dient hier die automatische Sicherung per Cron Job oder die Ausführung in einem Shell Script. Will man nun eine MySQL Dump ohne Benutzername und Passwort erstellen wäre die erste und einfache Möglichkeit dies direkt mit dem Befehl ‚mysqldump‘ zu erledigen und den Benutzernamen, das Passwort und den Namen der Sicherungsdatei als Parameter anzugeben.
mysqldump -u [root] -p [password] [databasename] > [backupfile_name]
Die Angabe von Passwörtern wird normalerweise jedoch in der History mit aufgezeichnet was ein Sicherheitsproblem darstellen könnte (Link). Es gitb aber auch eine andere Möglichkeit den Befehl ‚mysqldump‘ zu verwenden ohne direkt den Benutzername und das Passwort anzugeben. Dazu hält man sich an die folgenden zwei Schritte.
Wenn die Datei im Homeverzeichnis des Users angelegt worden ist kann der Befehl mysqldump
ohne der Eingabe des Benutzernamens und des Passworts ausgeführt werden.
mysqldump [databasename] > [backup_file_name]
Zu beachten ist, dass auch diese Methode kein 100-Prozentiger Schutz darstellt. Weitere Informationen zum Schutz der MySQL Datenbank findet man unter anderem unter den folgenden Links:
How to secure MySQL and MariaDB databases
MySql root password stored in .my.cnf