Eu tenho um arquivo .gz sql dump (exemplo: foo.sql.gz) que desejo importar no meu banco de dados com o comando mysql clássico.
gunzip -c foo.sql.gz > foo.sql
mysql -uroot -ppassword foo < foo.sql
foo é o banco de dados.
Como posso canalizar esses dois comandos em um único?
Tentou
gunzip -c foo.sql.gz | mysql -uroot -ppassword foo
mas não parece funcionar; eu recebogzip: stdout: Broken pipe
Respostas:
Isso também deixará
foo.sql.gz
como está.fonte
Para aqueles em Max OSX há um bug com
zcat
que você vai precisar usargzcat
em seu lugar.fonte
Todas as outras respostas recomendam a gravação da senha no comando. Essa é uma prática muito ruim e apresenta riscos à segurança. Por favor, não faça isso.
Você pode deixar a senha vazia no comando, pois solicitará que você digite a senha interativamente. Dessa forma, a senha não é salva no histórico do bash.
fonte