MySQLコマンドやSQL文に関する各種メモ書き:タグ「エラー対処」での検索

MySQL server has gone away のエラー対処

MySQL server has gone away というエラーが出ることがあります。 これは最後のMySQL接続から時間が経って、自動的にMySQLサーバがタイムアウトした時に発生します。 タイムアウト時間は PHPの場合 phpinfo(); で表示される画面の

mysql.connect_timeout	

の項目で見ることができます。デフォルト 60秒。

このタイムアウト時間を長くするには PHPの場合

ini_set('mysql.connect_timeout', 180);
ini_set('default_socket_timeout', 180);

とします。(3分に設定する場合)

またPHPなどのプログラムでMySQLクエリーを発行する前に再接続をしておくと良いです PHPフレームワークCodeIgniterの場合

$this->db->reconnect();

で再接続を行います。

No.1015
03/30 14:05

edit

エラー対処