85

How can I import a large (14 GB) MySQL dump file into a new MySQL database?

4

11 に答える 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 に答える