web-dev-qa-db-ja.com

MySQLの大きなダンプの復元

7GBの単一テーブルのダンプファイルがあります。私はそれを使って復元しようとします

mysql -u root -p DB_NAME < .SQL FILE

しかし、タスクマネージャーにアクティビティが表示されません。 CPUは00で、RAMは5,700 Kです。それが本当にそれを復元しているのか、それともエラーが発生したのかわかりません。これを復元する他の方法はありますか?Windows 7で実行しています。 。

6
AliBZ

この回答では、SQLファイルとして/root/MySQLData.sqlを使用します。

クライアントを介してmysqlに移動し、次のように実行します。

mysql> source /root/MySQLData.sql

試してみる !!!

UPDATE 2011-12-16 21:08 EDT

私はあなたの問題に気づきました:パスワードを提供しなかったため、プログラムは実行されていません。パスワードを待つバックグラウンドで立ち往生しています。それがあなたの実際の問題です。ジョブを強制終了し、コマンドラインでパスワードを指定して再度実行します。

mysql -u root -ppassword DB_NAME < .SQL FILE

または、上記の元の送信済み回答を使用してください。

UPDATE 2011-12-19 11:40 EDT

質問をもう一度読んだだけです。あなたは単一のテーブルを言った。それから私を襲った!!!

bulk_insert_buffer_size を増やす必要があります。デフォルトは8Mです。

現在の設定を確認するには、次のコマンドを実行します。

mysql> show variables like 'bulk%';

これを/etc/my.cnfに追加するだけです

[mysqld]
bulk_insert_buffer_size=512M

Mysqlを再起動しないようにするには、次のSQLコマンドを実行します。

SET GLOBAL bulk_insert_buffer_size = 1024 * 1024 * 512;

試してみる !!!

7
RolandoMySQLDBA
mysql -u root -p

set global net_buffer_length=1000000; --Set network buffer length to a large byte number

set global max_allowed_packet=1000000000; --Set maximum allowed packet size to a large byte number

SET foreign_key_checks = 0; --Disable foreign key checking to avoid delays,errors and unwanted behaviour

source /path/folder/database_forum_.sql 


SET foreign_key_checks = 1; --Remember to enable foreign key checks when procedure is complete!
1
Thiago Lenzi