MySQLで「server has gone~」というエラーの対応方法
2024/02/25
MySQLで「MySQL server has gone away」というエラーが出ていた。調べてみるとMySQLの接続がタイムアウトしているのが原因だった。以下に対応方法をメモ。
対応方法
OKパターン
エラー発生箇所の前で以下で接続しなおすことで解決。
mysqli_close();
$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
mysqli_close();
$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
mysqli_close(); $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
NGパターン
以下で接続時間を延ばしても解決しなかった。
ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300);
ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300);
ini_set('mysql.connect_timeout', 300); ini_set('default_socket_timeout', 300);
参考サイト
関連記事
-
-
MySQLでテーブルのカラム名やカラムの型等、詳細情報を取得する方法
MySQLでテーブルのカラム名やカラムの型等、詳細情報を取得する方法をメモ。 & ...
-
-
MySQLにてSELECT時にdate型のカラムから干支(十二支)を計算し表示する方法
MySQLにdate型のカラムに誕生年月日が格納されており、そこから干支(十二支 ...
-
-
mysqlで正規化できない時はシリアライズ使う
アンケートか何かに機能追加している際、配列を カンマ区切りで結合して文字列でDB ...
-
-
phpmyadminからプロセスの停止
重たいSQL文を叩いた際、どうにも処理できず メモリ使用率が100%から下がらな ...
-
-
SortableJSを使ってデータの並べ替え&保存
あるシステムを拝見した際にtableタグ内に並んでいる項目をドラッグ&ド ...