mysql:14566
From: "junya_arai" <"junya_arai" <j.arai@xxxxxxxxxx>>
Date: Wed, 21 May 2008 20:37:38 +0900
Subject: [mysql 14566] Can't connect to local MySQL server through socket (146)のエラーについて
お世話になっております。荒井です。
先日私の携わるシステムで次のような障害が発生しました。
解決できずに困っております。エラー番号146がキーになると思いますが、原因がお
分かりの方お願いします。解決のヒントでも結構ですので、情報をお願いします。
環境:
MySQL のバージョン:mysql5.0.45
プラットフォーム: solaris10
一つのマシンにMySQLサーバおよびMySQLクライアント機能を提供するライブラリー(mysqlライブラリーに仕様に沿って被せた物)
があります。
サーバにはMySQL(mysqld)が1インスタンス起動している。
各プロセスはmysqlサーバにUnix ソケット
を使用し接続する。
障害:
同じ時間帯(1秒間)に二つのプロセスがmysqlに接続をしようとしている。
クライアントプロセス(常駐)は接続に成功し(1秒間に接続~切断を11回程繰り返している)ているが、
コマンドプロセス(非常駐)は失敗(1回だけ接続、切断をする)し、 次のメッセージが出力された。
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
no
コマンドプロセスが失敗する前の4秒前にも同じ条件下で、成功している。
コマンドプロセスが失敗する後の4秒後にも同じ条件下で、成功している。
mysqlサーバは正常に動作している。
前提条件:
mysqlコンフィグファイルのback_logの設定値:50
同じ時間帯(1秒間)でmysql接続を行っているプロセス数:2
疑問点:
おそらく、mysql_real_connectライブラリーの中でのconnectシステムコールが
失敗していると思いますが、なぜ146になるのかわかりません。
以下の条件下では発生する可能性はあると思いますが...
1、サーバ側で接続用ソケットを閉じた場合
2、サーバ側でlistenしているキューの数が足りない場合
質問:
1、mysqldでlistenしているUnix ソケット用キューの数は幾つでしょうか?
mysqlのソース調査して見たのですが、よく分かりません。
2、上記以外にエラー番号146になることはあるのでしょうか?
よろしくお願いします。
-> 14566 2008-05-21 20:37 ["junya_arai" <j.arai] Can't connect to local MySQL server through socket (146)のエラーについて 14567 2008-05-22 10:48 ┗["Tetsuro IKEDA" <ikd] 14568 2008-05-22 11:09 ┗["Tetsuro IKEDA" <ikd] 14574 2008-05-23 19:11 ┗["junya_arai" <j.arai] 14575 2008-05-23 19:49 ┗[Mikiya Okuno <okuno@] 14585 2008-05-28 11:37 ┗["junya_arai" <j.arai] 14586 2008-05-28 12:04 ┗[Mikiya Okuno <okuno@]