Verwenden Sie zum Verwenden einer Datei, die sich irgendwo innerhalb des Betriebssystems befindet, --defaults-extra-filez.
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > [desiredoutput].sql
Hinweis: .sqlpwdist nur ein Beispieldateiname. Sie können verwenden, was Sie wollen.
Hinweis: MySQL prüft automatisch, ~/.my.cnfwelche anstelle von verwendet werden kann--defaults-extra-file
Wenn Sie CRON wie ich verwenden, versuchen Sie dies!
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > "$(date '+%F').sql"
Erforderliche Erlaubnis und empfohlenes Eigentum
sudo chmod 600 /path/.sqlpwd && sudo chown $USER:nogroup /path/.sqlpwd
.sqlpwd Inhalt:
[mysqldump]
user=username
password=password
Andere Beispiele zu übergeben .cnfoder.sqlpwd
[mysql]
user=username
password=password
[mysqldiff]
user=username
password=password
[client]
user=username
password=password
Wenn Sie sich automatisch bei einer Datenbank anmelden möchten, benötigen Sie beispielsweise den [mysql]Eintrag.
Sie können jetzt einen Alias erstellen, der Sie automatisch mit der Datenbank verbindet
alias whateveryouwant="mysql --defaults-extra-file=/path/.sqlpwd [database]"
Sie können das Passwort auch nur eingeben .sqlpwdund den Benutzernamen über das Skript / cli übergeben. Ich bin mir nicht sicher, ob dies die Sicherheit verbessern würde oder nicht, das wäre insgesamt eine andere Frage.
Der Vollständigkeit halber möchte ich sagen, dass Sie Folgendes tun können, dies ist jedoch äußerst unsicher und sollte niemals in einer Produktionsumgebung verwendet werden:
mysqldump -u [user_name] -p[password] [database] > [desiredoutput].sql
Hinweis: Zwischen -p und dem Kennwort steht KEIN Leerzeichen.
ZB -pPassWordist richtig, während -p Passwordfalsch ist.