ERROR 2013 (HY000): Lost connection to MySQL server during query

ERROR 2013 の発生原因や対応方法に関する解説です。

対象のエラー

ERROR 2013 (HY000): Lost connection to MySQL server during query

エラー発生の原因

通常は、MySQL に接続したまま何もせず一定時間経過すると、セッションが切れてこのメッセージが表示されますが、MySQL 5.6 にアップグレードした際に同様のエラーがでるケースもあるようです。

  • MySQL に接続したまま何もせず一定時間経過した為
  • 他のユーザーにプロセスを強制的に終了させられた為
  • MySQL 5.6 にアップグレードした際に一部のテーブルが破損した為

対応方法:MySQL に接続したまま何もせず一定時間経過した場合

この場合は特に何もせず次のSQLを実行すると、勝手に再接続します。

SQL を実行しようとしたら接続が切れていた
mysql> CREATE DATABASE mysql_test;
ERROR 2013 (HY000): Lost connection to MySQL server during query
それでも気にせずもう1回実行すると自動的に再接続する
mysql> CREATE DATABASE mysql_test;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    9
Current database: *** NONE ***

Query OK, 1 row affected (0.39 sec)

対応方法:他のユーザーにプロセスを強制的に終了させられた場合

この場合は、前述した MySQL に接続したまま何もせず一定時間経過した場合と全く同じ状態なので、そのまま次の SQL を実行すれば再接続します。

対応方法:MySQL 5.6 にアップグレードした際に一部のテーブルが破損した場合

私自身はこのケースに遭遇したことがないのですが、外部サイトで役立ちそうな情報がありましたのでリンクしておきます。

更新日:
サイドバー(仮