2013-01-04 28 views
12

私はVERY大きなmysqlバックアップファイルを与えられています。 〜630 MBです...誰かがデータベースに画像を保存することをお勧めしていたと思います...とにかく、MySQLで何らかの形でデータを復元する必要があります。しかし、私はそれがファイルサイズのために完了することはできません。大規模な.sqlファイルをMySQLにインポート

まず、私はMySQL Workbenchでそれをやろうとしました。それから私は、コマンドプロンプトを通してそれを実行しようとしました

Could not allocate xxxxx bytes to read file C:\backup.sql

:私は、ファイルをインポートしようとすると、しかし、それは私に、次のエラーが発生します。なぜなら、大きなファイルサイズのもある

ERROR 2006 (HY000) at line 68230: MySQL server has gone away

推測:最終的には私に次のような警告を与える

C:\> mysql -u user -pPassword database < C:\backups.sql 

:私はcmdで、次の入力されましたか?

データを復元する方法は他にありません。それはどういうわけかまだ可能ですか?

+0

の作品や部品にファイルを分割します。有効な構文を維持していることに注意してください。 – P1nGu1n

+0

それが去るまでにどれくらい時間がかかりますか?私はmysqlクライアントを使用して1.2GBのsqlファイルbtwを復元したので、間違いなく可能です。 –

+1

私はMySQLのエキスパートではありませんが、このファイルはファイルサイズの問題を引き起こしているかもしれない設定ファイルのタイムアウト設定に関連しています... http://thenitai.com/2010/10/31/a-solution-to-mysql-error-2006-hy000-mysql-server-has-away-away/ – bUKaneer

答えて

11

wait_timeoutおよび/またはinteractive_timeoutを増やすと効果的です。第1の電流値チェック:これは非常に低い場合

C:\> mysql -hlocalhost -uroot -proot 

mysql> SHOW VARIABLES LIKE 'wait_timeout'; 

(例えば30秒)がそれ(例えば5分)を増やし:

mysql> \. database.sql 

mysql> SET SESSION wait_timeout = 300; 
mysql> SET SESSION interactive_timeout = 300; 

は、その後、あなたのSQLファイルを実行します

+2

また、私は 'interactive_timeout'を大きなものに変更しました。しかし、それは 'wait_timeout'と私のためのトリックをしなかった。その後、私は 'connect_timeout'を '10'から' 10000'に変更しました。それは私のトリックでした。 – w00

+0

私の仕事です –

3

私は3.5Gダンプファイルを持っていましたが、PhpMyAdminとMySqlワークベンチでインポートしようとしましたが、成功しませんでした。だから、僕は

# mysql -u user_name -pYour_passwd your_db < your_dump.sql 

それを実行するために、コンソールを使用し、それは、テキスト・エディタを使用して開いて素晴らしい

関連する問題