Ich habe eine .gz-SQL-Dump-Datei (Beispiel: foo.sql.gz), die ich mit dem klassischen mysql-Befehl in meine Datenbank importieren möchte.
gunzip -c foo.sql.gz > foo.sql
mysql -uroot -ppassword foo < foo.sql
foo ist die Datenbank.
Wie kann ich diese beiden Befehle in einem einzigen Befehl weiterleiten?
Versucht
gunzip -c foo.sql.gz | mysql -uroot -ppassword foo
aber scheint nicht zu funktionieren; Ich bekommegzip: stdout: Broken pipe
Antworten:
Dies wird auch so bleiben
foo.sql.gz
wie es ist.quelle
Für die auf Max OS X gibt es einen Fehler mit ,
zcat
so dass Sie benötigen, um zu verwenden ,gzcat
statt.quelle
Bei allen anderen Antworten wird empfohlen, das Kennwort im Befehl zu schreiben. Dies ist eine sehr schlechte Praxis und birgt Sicherheitsrisiken. Bitte TUN SIE DAS NICHT .
Sie können das Kennwort im Befehl leer lassen, dann werden Sie aufgefordert, das Kennwort interaktiv einzugeben. Auf diese Weise wird das Passwort nicht im Bash-Verlauf gespeichert.
quelle