
phpMyAdminでDUMPしたSQL文ファイルが18MBほどあるのですが、
このファイルを丸ごと別のPCにインポートしようとすると、
タイムオーバーなどで途中までしか受け付けてもらえません。
どこからどこまでがインポートされたかも判別できず、
けっきょくCREATE TABLEなど最初からやり直したりして不便してます。
また、最後まで「完走」するためには、php.iniとかphpMyAdminの
configファイルなどで、ファイルサイズやタイムアウトまでの
時間を延ばしたりするのでしょうが、具体的にどこをどのように
書き換えればよいでしょうか。
環境:
PHP4.4.4
MySQL 4.0.26
IIS5.1

No.4ベストアンサー
- 回答日時:
phpMyAdminのソースをちょっと見ました。
「スクリプトがタイムアウトを過ぎました。・・・」
というメッセージが出る条件は、
・allow_interruptがtrue
(AND)
・アップロードに掛かる時間が、php.iniのmax_execution_time設定よりも大きい
場合のようです。この辺の設定をいじれば、何とかなりそうです。allow_interruptは、phpMyAdminの画面(インポートへの割り込み云々のチェックボックス)で設定できるようです。
(すみませんが、確認はしていません)。
あと、php.iniの以下の設定も要注意です。
upload_max_filesize、memory_limit、post_max_size
cooz7654さんご指摘のように、可能であれば、DOS窓でmysqlクライアントを起動して、そこからLOAD DATA INFILEなどをした方がよいと思います。
fdsjaklfjasさん、ソースまでご確認いただき恐縮です。
とりあえず、巨大ファイルを小分けにしてインポートしたのですが
見事に文字化けして(EUCをJISで取り込んでいた(T-T))
ご教示のLOAD DATA INFILEというのを調べて
取り組んでみます。
ご教示ありがとうございました。
No.3
- 回答日時:
php.iniでデーフォルトで下記の様になっている箇所を変更して、
タイムアウト時間を延ばすということでいいのかな?
default_socket_timeout = 60
(秒単位)
ただ、直接サーバに対して権限がおありなのであれば、
直接DBでインポート処理した方がいい気はします。
この回答への補足
> php.iniでデーフォルトで下記の様になっている箇所を変更して、
> タイムアウト時間を延ばすということでいいのかな?
cooz7654さん、アドバイスありがとうございます。ご教示どおり
default_socket_timeout = 1200 ←(20分)
としてIISを再起動してみましたが(20分たたなくても)
10分くらいで
「スクリプトがタイムアウトを過ぎました。
インポートを終わらせたい場合、同じファイルを再送信し、
インポートを再開させてください」
といわれますね(phpMyAdmin - 2.8.2.4に)
> ただ、直接サーバに対して権限がおありなのであれば、
> 直接DBでインポート処理した方がいい気はします。
これはどういうことでしょうか。
phpMyAdmin - 2.8.2.4で操作するのは
「直接DBでインポート処理」していることにはなりませんか?
ローカルで、DOS窓にDUMP(エクスポート)されたSQL文を
流したほうがよいでしょうか?
No.2
- 回答日時:
そうですか・・・。
そうなるとIISの設定ですね。
恥ずかしながら私はIISは10年近く触ってないのでわかりませんが
apacheであればhttpd.confのTimeoutというパラメータが
あるようですから、IISにも同等の設定があると思います。
「IIS タイムアウト 設定」あたりで検索するといくつかヒットしますので
参考になるかと。
apacheでそのほかに気にする箇所はpost_max_sizeとupload_max_filesize
があります。ようはpostで送れるサイズとファイルで送れるサイズを
指定するのですが、意外にpost値が少なくてファイルサイズ制限に
かかって悩む場合があるかもしれません。IISはどうなんでしょね。
この回答への補足
yamabejpさん、たびたびありがとうございます。
>「IIS タイムアウト 設定」あたりで検索するといくつかヒット
するのですが、ピンポイントな設定方法が見当たりません。
HELP等を含め、少し調べてみます。まずは御礼申し上げます。
No.1
- 回答日時:
(1)SQLを分割しておくるか(2)ファイルでアップして、シェルでmysqlに
リダイレクトするのいずれかでいかがでしょう。
タイムアウトを伸ばすのは攻撃に弱くなるのでお勧めできません。
この回答への補足
yamabejpさん、毎度お世話になります。
ご教示のように、これまではSQLを分割して対応してましたが
タイムアウトなどの設定ひとつでラクができるなら
そうしたい気分です。
DUMPしたSQLファイルのインポート先は
ローカル(XP+IIS)の開発環境ですので、
タイムアウトとかで片付くならできるだけそちらで
済ませたいのですが。。。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「クラウドにアップロード」」...
-
youtubeに音声のみのmp4ファイ...
-
ファイルのアップロードについて
-
アップロードのボタンが有りま...
-
FTP接続の例外処理
-
Dreamweaverは使わないでPHPガ...
-
VBでクラウドストレージにア...
-
ファイルのアップロードの制限
-
FTPClientで転送結果(OKかFAIL)
-
onedrive にexcelファイルをア...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
*.php、*.php3、*.phtmlの違い
-
Subversionのリポジトリの削除
-
CFileDialogの最初のディレクト...
-
ビットマップ画像を読み込むプ...
-
ボタンのクリック数を合計保存...
-
phpの条件文について
-
別ファイルの変数を呼び出した...
-
2つの画像ファイルが異なるファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
youtubeに音声のみのmp4ファイ...
-
「クラウドにアップロード」」...
-
FTPClientで転送結果(OKかFAIL)
-
ftpでアップロードが出来ない
-
BASP21のFTPで日本語ファイル名...
-
ファイルサイズがpost_max_size...
-
初めまして、
-
VBでクラウドストレージにア...
-
どうして送信されないのでしょ...
-
ファイルをGET送信でアップロー...
-
アップロードしたファイルの移...
-
アップロードしたのに表示され...
-
またまた。
-
利用容量や画像サイズ、画像フ...
-
アップロードなのですが
-
CGI.pmでファイルアップロード...
-
$filePath = './user_img/' . $...
-
ファイルのアップロード
-
PHPを使ったWEBサイトでアップ...
おすすめ情報