0

複数のデータベースを含むバックアップ ファイルから単一のデータベースをインポートするにはどうすればよいですか?

主な問題は、ファイルが 921 MB であるため、メモ帳や所有している IDE で正常に開くことができないことです。それができれば、必要な SQL を取得し、手動で phpMyAdmin にコピーするだけです。

バックアップファイルから直接インポートできればいいのですが。

私はそれがこのようなものになると思いますが、私はそれを働かせることができません

mysql -u root -p --database1 database1 < backup.sql

誰でも助けることができますか?ありがとう

4

2 に答える 2

0

ターゲット データベースは既に存在しますか?

もしそうなら:

mysqlimport -u [uname] -p[pass] [dbname] [backupfile.sql]

それ以外は:

mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]

于 2014-11-27T12:08:53.430 に答える
0

一部のデータ読み込みスクリプトでこのような問題が発生しました。スクリプトの形式は次のとおりです。

insert into table(a,b,c) values((a0,b0,c0),(a1,b1,c1),...(a50000,b50000,c50000));

これらの非常に長いステートメントが 5 つから数十個含まれていました。この形式は、データをインポートしたいシステムで認識できませんでした。それにはフォームが必要でした:

insert into table(a,b,c) values(a0,b0,c0);
insert into table(a,b,c) values(a1,b1,c1);
...
insert into table(a,b,c) values(a50000,b50000,c50000);

小さいスクリプトでも数 MB で、テキスト エディターに読み込むのに最大 1 時間かかりました。したがって、これらの変更を標準のテキスト エディターで行うことは問題外でした。最初の形式を読み取り、2 番目の形式で構成されるテキスト ファイルを作成する簡単な Java アプリを作成しました。最大のスクリプトでさえ、合計で 20 秒もかかりませんでした。はい、それは分ではなく秒です。それは、多くのデータがテキストで引用されている場合でも、パーサーを引用認識にする必要があったためです。

独自のアプリ (Java、C#、Perl など) を作成して、同様のことを行うことができます。必要なデータベースに関連する行だけを別のスクリプト ファイルに書き込みます。アプリを作成してテストするには数時間または数日かかりますが、非常に大きなファイルを処理するテキスト エディターを調査するだけでも、実際には機能しないことを確認するだけでも、おそらくそれ以上の時間がかかります。

于 2014-12-03T00:08:08.090 に答える