Saya memiliki file dump .gz sql (contoh: foo.sql.gz) yang ingin saya impor di database saya dengan perintah mysql klasik.
gunzip -c foo.sql.gz > foo.sql
mysql -uroot -ppassword foo < foo.sql
foo adalah databasenya.
Bagaimana saya bisa menyalurkan dua perintah ini dalam satu perintah?
Mencoba
gunzip -c foo.sql.gz | mysql -uroot -ppassword foo
tetapi tampaknya tidak berhasil; saya mendapatgzip: stdout: Broken pipe
Jawaban:
Ini juga akan meninggalkan
foo.sql.gz
apa adanya.sumber
Bagi yang menggunakan OSX Maks ada bug dengan
zcat
sehingga Anda harus menggunakannyagzcat
.sumber
Semua jawaban lain merekomendasikan penulisan kata sandi dalam perintah. Ini adalah praktik yang sangat buruk dan menimbulkan risiko keamanan. Tolong, JANGAN MELAKUKANNYA .
Anda dapat membiarkan kata sandi kosong di perintah, daripada meminta Anda memasukkan kata sandi secara interaktif. Dengan cara ini kata sandi tidak disimpan dalam bash history.
sumber