Mam plik zrzutu sql .gz (przykład: foo.sql.gz), który chcę zaimportować do mojej bazy danych za pomocą klasycznej komendy mysql.
gunzip -c foo.sql.gz > foo.sql
mysql -uroot -ppassword foo < foo.sql
foo to baza danych.
Jak mogę potokować te dwa polecenia w jednym?
Wypróbowany
gunzip -c foo.sql.gz | mysql -uroot -ppassword foo
ale nie działa; dostajęgzip: stdout: Broken pipe
Odpowiedzi:
To też odejdzie
foo.sql.gz
bez zmian.źródło
Dla tych o Max OSX jest to błąd ze
zcat
tak trzeba użyćgzcat
zamiast.źródło
Wszystkie pozostałe odpowiedzi zalecają wpisanie hasła w poleceniu. Jest to bardzo zła praktyka i stanowi zagrożenie dla bezpieczeństwa. Proszę, NIE Rób tego.
Możesz pozostawić hasło puste w poleceniu, niż poprosi o interaktywne wprowadzenie hasła. W ten sposób hasło nie jest zapisywane w historii bash.
źródło