Verwenden Sie zum Verwenden einer Datei, die sich irgendwo innerhalb des Betriebssystems befindet, --defaults-extra-file
z.
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > [desiredoutput].sql
Hinweis: .sqlpwd
ist nur ein Beispieldateiname. Sie können verwenden, was Sie wollen.
Hinweis: MySQL prüft automatisch, ~/.my.cnf
welche 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 .cnf
oder.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 .sqlpwd
und 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 -pPassWord
ist richtig, während -p Password
falsch ist.