zcat foo.sql.gz | mysql -uroot -ppassword foo
Dies wird auch so bleiben foo.sql.gz
wie es ist.
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 ausführen?
Versucht
gunzip -c foo.sql.gz | mysql -uroot -ppassword foo
scheint aber nicht zu funktionieren; Ich bekommegzip: stdout: Broken pipe
zcat foo.sql.gz | mysql -uroot -ppassword foo
Dies wird auch so bleiben foo.sql.gz
wie es ist.
Für die auf Max OS X gibt es einen Fehler mit, zcat
so dass Sie benötigen, um zu verwenden, gzcat
statt.
gzcat foo.sql.gz | mysql -uroot -ppassword foo
Bei allen anderen Antworten wird empfohlen, das Kennwort in den Befehl zu schreiben. Dies ist eine sehr schlechte Praxis und birgt Sicherheitsrisiken. Bitte tu das NICHT.
Sie können das Kennwort im Befehl leer lassen, und Sie werden aufgefordert, das Kennwort interaktiv einzugeben. Auf diese Weise wird das Passwort nicht in der Bash-Historie gespeichert.
gunzip < dump.sql.gz | mysql -u username -p databasename