У меня есть файл дампа .gz sql (пример: foo.sql.gz), который я хочу импортировать в свою базу данных с помощью классической команды mysql.
gunzip -c foo.sql.gz > foo.sql
mysql -uroot -ppassword foo < foo.sql
фу это база данных.
Как я могу передать эти две команды в одну?
Пытался
gunzip -c foo.sql.gz | mysql -uroot -ppassword foo
но, похоже, не работает; я получилgzip: stdout: Broken pipe
6
К вашему сведению, вы действительно не хотите передавать пароль mysql в командной строке. Это приводит к его сохранению в ~ / .bash_history для всеобщего обозрения. Если вы просто введете -p, он предложит вам ввести пароль, который намного безопаснее (и не нарушает и канал zcat)
—
thefreeman
Ваша оригинальная команда будет работать, если gunzip <foo.sql.gz | mysql -uroot -ppassword foo
—
Yada