.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
zcat foo.sql.gz | mysql -uroot -ppassword foo
これもfoo.sql.gz
そのまま。
Max OSXを使用している場合は、zcat
に バグ があるため、代わりにgzcat
を使用する必要があります。
gzcat foo.sql.gz | mysql -uroot -ppassword foo
他のすべての回答は、コマンドにパスワードを書き込むことを推奨しています。これは非常に悪い習慣であり、セキュリティ上のリスクをもたらします。してくださいしないでくださいそれ。
コマンドでパスワードを空のままにしておくと、インタラクティブにパスワードを入力するように求められます。この方法では、パスワードはbash履歴に保存されません。
gunzip < dump.sql.gz | mysql -u username -p databasename