LoginSignup
13
16

More than 5 years have passed since last update.

Railsで<Mysql2::Error: closed MySQL connection> が出た場合に必ず確認すること

Last updated at Posted at 2013-05-07

■ 確認項目2点
・エラーメッセージ付近で発行されたSQLの文字数を確認する。
・MySQL の max_allowed_packet のサイズを確認する。

SQLのサイズが max_allowed_packet の設定値(デフォルト1MB)以下で有れば今回のエントリは関係有りません。ごめんなさい。


以下SQLサイズが1MB以上だった人向け。

MySQLには max_allowed_packet という設定項目が有ります。
これは何かというと、1回に発行するSQLのサイズを設定する項目です。
そして、この制限に引っかかると(Mysql2::Error: closed MySQL connection)とかいうエラーが起きて、正常に動作しません(全然メッセージが合って無い!!とは思いましたが。)。

もしあなたがactiverecord-importとかでデータを一括登録している場合は max_allowed_packet を確認したほうがいいと思います。

というか max_allowed_packet をはじめから8MBとか16MBにしておくといいかも。。


[追記] エントリを書き終わってぐぐってみたら、まさに今回エラーが起きてたactiverecord-importの新しいバージョンではmax_allowed_packetを見てSQLを分割してくれるようです。

activerecord-import 。上げなくてわ!

13
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
16