web-dev-qa-db-ja.com

.sql.gzファイルを使用してデータベースを復元すると、gunzip付近のSQL構文エラー

.sql.gzファイルを使用してmysql dbを復元しようとしています。ファイルサイズがphpMyAdminに対して大きすぎるため、mySqlコンソールを使用してコマンドを実行しています。私が使用しているコマンドは

gunzip C:/Vik/Gya/Source/beed_2013-04-06.sql.gz | mysql -u root -p bd

ここで、rootはユーザーIDです。 rootのパスワードはありません。 bdは、インポートしようとしているデータベースです。 mysqlがローカルマシン(Windows 8)で実行されています。ワンプ設定があります。

これは私が得ているエラーです:

エラー1064(42000):SQL構文にエラーがあります。 MySQLサーバーのバージョンに対応するマニュアルで、1行目の'gunzip C:/Vikalp/Gyankosh/Source/beedictionary_2013-04-06.sql | mysql -u root -p'付近で使用する正しい構文を確認してください。

12
Vikalp Jain

gunzipと入力して、gunzipについてのSQL構文エラーが発生した場合、すでにmysqlコンソールにログインしています。 mysqlコンソールは汎用シェルではありません!

Windowsを使用していますが、コンピューターにgzipがインストールされていないようです(組み込みのユーティリティではありません)。古典的なUnixツールですが、 Windows のバイナリを見つけることができます。それをインストールし、いくつかの調整を加えて元のコマンドを実行します。

  1. Windowsプロンプト(C:\>

  2. ファイルではなく、gunzipの結果 stdoutに をリダイレクトします。

    gunzip --stdout C:/Vik/Gya/Source/beed_2013-04-06.sql.gz | mysql -u root -p bd
    

または、MySQL promt(mysql>)最初に解凍した場合(特にコマンドラインgzipは必要ありません。 7-Zip などのほとんどのGUIアーカイバはこの形式をサポートしています):

mysql> \. C:/Vikalp/Gyankosh/Source/beedictionary_2013-04-06.sql
4

-cオプションが必要(標準出力への出力)

gunzip -c xxx.sql.gz |mysql -u root -p
69
kisoft

Kisoftの答えは正しいですが、-cは必要ないことを指摘したかったのですが、そのままでは問題なく動作します。このコマンドは、データベースダンプを解凍し、同時にデータベースにインポートします。

gunzip < output.sql.gz | mysql -u <username> -p<password> <database>
22
Comocho00

単にgunzipする必要はありません。zcatmyfile.gz | mysql -uuser -ppassword mydatabaseそれはこのように高速です

1
Mirel

あなたの答えはすでにここにあります

phpMyAdmin:巨大なデータベースファイルをインポートできません。何か提案はありますか?

Php.iniファイルの下、通常はc:\ xampp\phpまたはwamppにあります。

post_max_size=128M
upload_max_filesize=128M

そこで値を変更すると、必要なものが得られます。頑張って、Apacheとmysqlを再起動することを忘れないでください。

1
Wayne Tun

.gzファイルを使用してdbを復元するには、次の手順を試してください。

1. Run command : gunzip C:/Vik/Gya/Source/beed_2013-04-06.sql.gz

これにより、.gzファイルが解凍され、beed_2013-04-06.sqlが同じ場所に格納されます。

2. Type the following command to import sql data file:
      mysql -u username -p bd < C:/Vik/Gya/Source/beed_2013-04-06.sql
0
kd12