勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLで「server has gone~」というエラーの対応方法

   2024/02/25  MySQL

MySQLで「MySQL server has gone away」というエラーが出ていた。調べてみるとMySQLの接続がタイムアウトしているのが原因だった。以下に対応方法をメモ。

 

対応方法

OKパターン

エラー発生箇所の前で以下で接続しなおすことで解決。

mysqli_close();
$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);

NGパターン

以下で接続時間を延ばしても解決しなかった。

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

 

参考サイト

http://jaxx2104.info/mysql-server-has-gone-away

 - MySQL

  関連記事

mysqldumpが使えないレンタルサーバでMySQLのバックアップ

mysqldumpが使えないレンタルサーバで開発を行うことがあり、尚且つ他社に使 ...

MySQLでカラム内容によって条件分岐させたい場合の対応方法

MySQLでカラムの内容によって条件を分岐させたかった。またPHPで処理するので ...

MySQLで特定のテーブルにパーティショニング設定し高速化を図る方法

以前に他社が設計されたログ系のテーブルを拝見した際にパーティショニング設定が行わ ...

MySQLで特定の値を加算しつつNULL値の場合は0にする方法

いくつかのコードに対して投票を行い、その合計値をスコアとして出したい。ただ、投票 ...

MySQLでオートインクリメントを使用せずにグループ毎に連番を設定する方法

MySQLでオートインクリメントを使用せずにグループ毎で連番を割り振りたかった。 ...