ratio - rational - irrational

« Dependency Injection + Formal Method | Main | 分かってるよ、私は強者だ »

2006年04月08日

Lost connection to MySQL server during query

RubyプログラムのORMにActiveRecordを使っている。サーバーを再起動したら、今まで何の問題もなく動いていたところで"Lost connection to MySQL server during query"が発生するようになった。

しかも、エラーは実際のプログラムでのみ発生し、簡単なテストプログラムでは発生しない。少しずつ本番プログラムに近づけながらいくつかテストプログラムを書いてみたが、なかなか再現せず、調査時間がかかりすぎて打ち切った。最小の再現状況を特定することはできなかった。

OS
Debian GNU/Linux 3.1
MySQL
5.0.18 (debian backport)
Apache
2.0.54
mod_fcgid
1.05
Ruby
1.8.2 (sarge security update: -7sarge2)
ruby fcgi
0.8.6
ActiveRecord
1.14.0

ググっても「原因不明」レポートばかりでよく分からない。実際、こちらも今までは再起動しても何の問題もなく動いていたし、訳が分からない。敢えていうならサーバーのセットアップが終わってラックに移設した後だったということぐらいか。ソフトウェアレベルでは本当に「突然」「何もしていないのに」「原因不明」である。衝撃でハードディスクが壊れたとかそういう問題でないことでないことを祈るのみ。

まだ弄っても平気な状態のサーバーだったのが不幸中の幸い。MySQLをまず疑って再インストールしてみたけれどまだエラーが発生する。次にActiveRecrodを1.14.0から1.13.2に落としてみたら発生しなくなった。

でも、今調べたらRailsではよくあることらしい。慌てていて情報見落としたかな。そめえださん曰く、「gem install mysql」しろと。むぅ。Rails Wikiを見れば良かったのか。今回ARだけでrails自体は使ってないのでちゃんと見てなかった。

しかも、昨日のUTC 15:54、タッチの差でAR 1.14.1がリリースされてるよ。gem install mysqlしてAR 1.14.1との組合せでうまくいくだろうか。明日試してみる。

* 追記

AR 1.14.1 + "gem install mysql"ではやっぱりエラーが発生。ところで、MySQLのマニュアルの当該エラーのページしか見ていなかったけれど、 A.2.9. Packet too large エラー

クライアントの中には、通信パケットが大きすぎると Lost connection to MySQL server during query エラーを発生するものもあります。

もしかしてこれか?



トラックバック

この記事のトラックバックpingのURL:
http://idm.s9.xrea.com/blog/mt-tb.cgi/404

Ping元:[Rails] Lost connection to MySQL server during query のエラーを出す方法

概要:
Railsを使っていて「Lost connection to MySQL server during query」に遭遇したら Lost connection to MySQL server during query 上記の記事を拝見していたら Lost connection to MySQL server during query というエラーの再現性が難しいという旨が書いてありました。最
Weblog:
半隠遁日記
日時:
2007年08月15日 04:15

Ping元:[rails][mysql]Mysql::Error: Lost connection to MySQL server during query

概要:
「config.action_controller.session_store = :active_record_store」に設定したら、 「Mysql::Error: Lost connection to MySQL server during query:」が出るようになった。 セッションの中身が大きすぎるときに何か起きてるような気がする。 必ず出るわけでなく、たまに
Weblog:
urekatのスカンク日記3
日時:
2007年10月02日 13:55

Ping元:[Ruby][FastCGI]FastCGIでRubyのスクリプトを動かしたとき、Lost connection to MySQL server during queryと怒られる件について

概要:
Rubyを最近書いていなくて忘れそうだったので、次の仕事はRubyを使って書くことにしてみました。 lighttpdを使ったことがなかったので、次の仕事はlighttpdを使うことにしてみました。 という非常にいい加減な理由でlighttpd + Ruby on FastCGIでWebアプリケーションを書き
Weblog:
グニャラくんのグニャグニャ備忘録@はてな
日時:
2008年02月16日 04:01

コメント

実は私もあの記事を書いた時、いろいろ探しました。
Rails Wikiは助かりますよね。
みんなが追記しているので、下の方に重要な事が書いてある事も。

  • Posted by: someeda at 2006年04月08日 16:05

新しくコメントをつける

よくわからない理由により、コメントが即座には反映されないかもしれませんか゛、ボタンを押して元の画面に戻ってきたならたぶん正しく送信されています。




blog操作

検索


カテゴリー

このブログについて

あわせて読みたい

follow yugui at http://twitter.com
© 2006 Yugui

Powered by Movable Type 3.2-ja-2