コマンドプロンプト(Windows環境)のMySQLでデータインポート時にタイムアウトエラーが発生
- 背景:PHP5.6、MySQL5.5、別のサーバーからのダンプデータをインポートします
>mysql -u root -p --default-character-set=utf8 2drills-d7<C:\Users\tiger\Downloads\drills_2drills.sql
- インポート途中ではタイムアウトエラーが発生しています
ERROR 1064 (42000) at line 2283730: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Array ( [type] => 1 [message] => Maximum execution time of 300 seconds e' at line 279 )
調査:PHPの実行時間が短いなどを中心にして実行時間を調整しましたが、改善されませんでした
- MySQLのデータインポート時に実行時間が許与設定より超えたと疑いました
- PHPの「 max_execution_time 」を調整してデータ再度インポートしたらエラーは消えません
- コマンドプロンプトでインポートしたので、PHPの実行環境と関係ないはずでした。調査ま無駄でした。
- インターネットで調べてみたら、このエラーはphpMyAdminから出ることがよく報告されまして、 \phpmyadmin\libraries\config.default.php の $cfg['ExecTimeLimit'] を調整して、再度インポートしたらエラーが消えませんでした
- そもそもコマンドプロンプトでデータインポートするので、phpMyAdminとは関係はないので、ここでの調べが無駄でしたね
- 結局にダンプファイルをよくよ調べてみたらエラーメッセージがダンプフィルの最後にありました
原因:phpMyAdiminでダンプファイル作成時に許与設定時間(300秒)を超えてダンプファイルにエラーメッセージが出力されました
- phpMyAdminでダンプファイルを作成したが、エラーメッセージもなく終了されました
- データ量が多くて許与設定時間(300秒)を超えてダンプ作業が終了されまして、エラーメッセージもダンプファイルに出力されました