web-dev-qa-db-ja.com

gunzipとmysqlをパイプして、ダンプをgunzipしてインポートします

.gz sqlダンプファイル(例:foo.sql.gz)があり、クラシックmysqlコマンドを使用してデータベースにインポートします。

gunzip -c foo.sql.gz > foo.sql

mysql -uroot -ppassword foo < foo.sql

fooはデータベースです。

これら2つのコマンドを1つのコマンドにパイプするにはどうすればよいですか?

試しました

gunzip -c foo.sql.gz | mysql -uroot -ppassword foo

しかし、動作していないようです。 gzip: stdout: Broken pipe

28
apelliciari
zcat foo.sql.gz | mysql -uroot -ppassword foo

これもfoo.sql.gz そのまま。

40
Nifle

Max OSXを使用している場合は、zcatバグ があるため、代わりにgzcatを使用する必要があります。

gzcat foo.sql.gz | mysql -uroot -ppassword foo
13
SammyK

他のすべての回答は、コマンドにパスワードを書き込むことを推奨しています。これは非常に悪い習慣であり、セキュリティ上のリスクをもたらします。してくださいしないでくださいそれ。

コマンドでパスワードを空のままにしておくと、インタラクティブにパスワードを入力するように求められます。この方法では、パスワードはbash履歴に保存されません。

gunzip < dump.sql.gz | mysql -u username -p databasename
2
Елин Й.