How can I import a large (14 GB) MySQL dump file into a new MySQL database?
151616 次
11 に答える
235
私は周りを検索しましたが、この解決策だけが私を助けてくれました:
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 file.sql --Import your sql dump file
SET foreign_key_checks = 1; --Remember to enable foreign key checks when procedure is complete!
答えはここにあります。
于 2014-03-03T19:41:09.983 に答える
32
mysql
コマンドラインクライアントを直接使用してみましたか?
mysql -u username -p -h hostname databasename < dump.sql
それができない場合は、BigDumpのように、MySQLに大きなダンプをインポートするのに役立つグーグルで見つけることができるユーティリティがいくつもあります。
于 2012-12-05T06:21:47.883 に答える
2
私が遭遇したことについて言及していない、私が見たいくつかの応答に私の発見を投稿しています。
Linux コマンド ラインから 500 MB のダンプを読み込もうとしたところ、「Mysql サーバーが消えました」というエラーが表示され続けました。my.conf の設定は役に立ちませんでした。それを修正することが判明したのは...次のような1つの大きな拡張挿入を行っていました:
insert into table (fields) values (a record, a record, a record, 500 meg of data);
次のように、ファイルを個別の挿入としてフォーマットする必要がありました。
insert into table (fields) values (a record);
insert into table (fields) values (a record);
insert into table (fields) values (a record);
Etc.
そして、ダンプを生成するために、私はこのようなものを使用しましたが、それは魅力的に機能しました:
SELECT
id,
status,
email
FROM contacts
INTO OUTFILE '/tmp/contacts.sql'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES STARTING BY "INSERT INTO contacts (id,status,email) values ("
TERMINATED BY ');\n'
于 2015-05-22T02:08:35.933 に答える