つかびーの技術日記

情報系修士卒のWeb系技術日記です。現在のフォーカス分野はアドテクです。

Can’t connect to local MySQL server through socketを解決

   

ある日、Cron Daemonからエラーを示すメールが届くようになりました。

実際DBへ接続できなくなっていました。ブレーカーが落ちたせいかな・・・?

解決法はちょっとググればでてきましたが、どれも自分のケースにはマッチせず。そのため、自分で試行錯誤して解決しました。と言っても、やったことは単純です。

まずはservice mysqld statusをすると、既にサービス起動中だと言われる。けど、ps axで調べるとプロセスはいない。service mysqld stopすると成功するけど、改善はされず何度でもstopできる・・・という状態でした。

そこでsocketファイルのパスを変更することに。

上記のmysql.sockをmysql2.sockに変更して、service mysqld startしたところ無事起動しました。mysql.sockはプロセスが生成されると生成されるもののようです。プロセスがいないのにmysql.sockが残っていたのが問題だったのかな?

このままでは気になるので、一旦service mysqld stopして、my.cnfを元に戻す。その後、mysql.sockをrmして、service mysqld startしたところ、全てが元通りになりました。

最初からrm mysql.sockしておけばよかったのかな。

完璧に把握できたわけじゃないですが、自分の場合はこれで直りました。

 - MySQL