Mysqldump ohne Passwort in crontab

Ich versuche ein backup meiner Datenbank mit mysqldump und cronjobs.

Gut, ich habe den folgenden Befehl in der crontab von root:

*/30 * * * * mysqldump -u root -pVERYSECUREPASSWORD --all-databases > /var/www/cloud/dump_komplett.sql &> /dev/null

Dieser funktioniert so weit, aber das problem ist, dass das Kennwort gesetzt ist, in diesem Befehl.

Also ich möchte eine .Datenbank.cnf-Datei, die wie folgt Aussehen

[mysqldump]
user=root
password=VERYSECUREPASSWORD

verändert und den mysqldump Befehl

mysqldump --defaults-extra-file="/var/crons/mysql/.database.cnf" --all-databases -u root > /var/www/cloud/dump_komplett.sql

um dieses problem zu lösen.

Aber dieser Befehl schlägt fehl, mit der Fehlermeldung:

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

Ich weiß nicht, was falsch ist.

Hier sind einige Befehle, die ich auch versucht:

mysqldump --defaults-extra-file="/var/crons/mysql/.database.cnf" --all-databases > /var/www/cloud/dump_komplett.sql
mysqldump --defaults-file="/var/crons/mysql/.database.cnf" --all-databases > /var/www/cloud/dump_komplett.sql
mysqldump --defaults-file="/var/crons/mysql/.database.cnf" --all-databases -u root > /var/www/cloud/dump_komplett.sql

und .Datenbank.cnf Inhalt ich auch versucht:

[client]
user=root
password=VERYSECUREPASSWORD

[mysqldump]
host=localhost
user=root
password=VERYSECUREPASSWORD

[client]
host=localhost
user=root
password=VERYSECUREPASSWORD
  • Führen Sie diese Befehle aus der command line?
  • Ich habe versucht, einen dieser Befehle von der Befehlszeile, zu. (Nicht nur crontab)
  • Check this out stackoverflow.com/a/6861458/1860929
  • Danke für den Link, der Benutzer muss im Kommando angegeben werden und nicht in die Datei mit dem "u" parameter.
  • Cool dann Hinzugefügt haben, dass als Antwort ein.
Schreibe einen Kommentar