回答:
zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database
>
mysql
コマンドの出力をstdout
ファイルに書き込みますが、myfile.sql.gz
これはおそらくあなたが望むものではありません。さらに、このコマンドは、MySQLユーザー「root」のパスワードの入力を求めます。
~/.my.cnf
資格情報で作成します。;)
zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database
。最後のパラメーターは、パスワードではなく、使用したいデータベースであることがわかります。
sql.gzファイルのインポート中に進行状況バーを表示するにpv
は、次をダウンロードして使用します。
pv mydump.sql.gz | gunzip | mysql -u root -p
CentOS / RHELでは、でpvをインストールできますyum install pv
。
Debian / Ubuntuでapt-get install pv
。
MACでは、 brew install pv
pv
Ubuntuリポジトリにも含まれているようです(少なくとも12.04 LTSではそうです)が、再度sudo apt-get install pv
取得する必要があります。Banjerのおかげで、これは大きなデータベースのインポートに最適です!
brew install pv
最も簡単な方法は、インポートする前にデータベースファイルを解凍することです。また、@ Profが述べたように。Moriartyでは、コマンドでパスワードを指定しないでください(パスワードの入力を求められます)。webcheatsheetから取得したこのコマンドは、データベースを一度に解凍してインポートします。
gunzip < myfile.sql.gz | mysql -u root -p mydb
gunzip
10GBの圧縮ファイルにパイピングすると、インポートがフリーズします。それがメモリの制約なのか何かに起因するものなのかはわかりませんが、将来は一度に1つのステップを実行する側でエラーになります。
からエラーが発生しzcat
、エラーメッセージに追加のサフィックスが付いたファイル名が含まれている場合は、https://stackoverflow.com/questions/296717/zcat-wont-unzip-files-properlyで説明されているように、代わりに.Z
使用してみてくださいgzcat