phpMyAdminを使い、MySQLを操作・管理しています。


都道府県情報など、10万行以上あるデータをインポートしようとした時、あまりにも大きなサイズのSQLファイルはインポート出来ません、という旨のエラーメッセージが出ます。

こういう場合、都道府県毎に分割でインポートしていくと思うのですが、数が多いのでめんどうであります。

大きなファイル・数万行に及ぶSQLファイルをphpMyAdmin上でインポートする方法はありませんでしょうか?

MySQL4.0.26、phpMyAdmin2.8.2.4で、WindowsXPのローカル上でテストしています。

回答の条件
  • 1人2回まで
  • 登録:2007/08/09 16:21:15
  • 終了:2007/08/09 18:42:39

回答(1件)

id:Yota No.1

Yota回答回数453ベストアンサー獲得回数282007/08/09 16:57:16

ポイント100pt

httpでアップロードするため制限されるのでしょう。php.iniのupload_max_filesizeを調整してもだめでしょうか。

わたしがLinux上で今使っているphpMyAdmin-2.10.2では、config.inc.phpに$cfg['UploadDir'] = '/var/www/sql'とか指定すると「インポート」メニューに「ウェブサーバ上のアップロードディレクトリ」で/var/www/sqlの中にあるファイルを選べるようになっています。これだとアップロードでなく直接実行されるから関係ないと思います。

そうでもない限り、PHPを介さずにコマンドプロンプトでmysqlコマンドを使うしかないのではないでしょうか。

id:kt26

回答ありがとうございます。うまくできました。

ただ、やっぱり大量のSQLを扱う場合、注意する必要がありますね。ローカルPC上だから処理も速めですが、ネットのサーバですと問題ありそうです。

2007/08/09 18:41:59
  • id:Yota
    WindowsXPにphpMyAdmin-2.10.3を入れてみましたが、$cfg['UploadDir'] = 'C:/Apache/sql';というように指定すれば、サーバのフォルダからインポートできます。
    ただし、このフォルダに*.sqlというファイルがないとメニューが出てきませんでした。
    それと書き忘れましたが、PHPでやるならphp.iniのこの時間は延ばした方がいいかもしれません。
    max_execution_time
    max_input_time

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません