質問: mysqldump -u root -p database_name > dump.sql のように、大元のデータベースから、ダンプされた100GB程度のデータを、改めて、インポートしようとすると、Out of memory が表示され一部しかインポートで出来ません。 具体的操作としては、 windows10環境に、最新XAMPPをインストールし、 mysql -u root -p データベース名 < dump.sql とすると、1時間以上経過した後、 mysql: Out of memory (Needed 1649804368 bytes) mysql: Out of memory (Needed 1649808336 bytes) と表示されます。 プロンプトは戻っていて、 use データベース名 show tabeles; でテーブルを確認すると、10個程度テーブルは出来ていて、それぞれのテーブル毎に中身は入っています。 ただこの10個程度のテーブルの中身全て足しても15GB程度で、大部分のデータは読み込めていなく、大きなデータが入ったテーブル自体が出ていない状態なのかな?と思っております。 読み込めるメモリーの設定を変えるファイルがあると調べた結果出るのですが、どの設定ファイルを変えたらいいのかそのファイルがみつかりません。 設定ファイルの場所、または、それ以外にでも、全てのデータを読み込む解決法を教えてくださると幸いです。 よろしくお願いいたします。
回答: 参考URL xamppのmysqlの設定ファイルの場所やファイルはバージョンによって異なりますが、 参考URLの様にコントロールパネルから表示できませんか? ただ、インポートするファイルが100GBととても大きいので、 設定しても根本的にどうにもならない可能性もあります。 私が同じケースでやるとしたら、 1. テーブル定義部分だけ切り出してインポートする 2. 各テーブル単位でINSERT文を切り出してインポートする 3. テーブル単位でも大きすぎる場合はテーブル内INSERT文をいくつかに分解してインポートする という感じでやってしまうと思います。 *何回も繰り返し実行しないといけない場合は上記を適当な言語でスクリプトを組んでやります。 *大元部分で、テーブル単位でエクスポートしてもらえるともっと楽 ファイルの分割自体はlinuxでやった方が楽ですが、windowsでやるなら windows 巨大ファイル 編集あたりで検索して、適当なエディタを探してやります。