MySQLでmysqld.sockのエラーが出た (Ubuntu16.04)

こんばんは、毒をまとったきのこ、毒きのこです。

自分が見てるNode.js製のサービスがあって、先日重大なセキュリティアップデートの件もあったので久々サーバー周りみていて、いざアプリを起動したらエラーが…

あれ?昨日とか普通に動いてたのに、と色々潜ってログ等漁っていたらどうもMySQLが起動してないではありませんか!

これまで通り動いていたしそもそもMySQLなんかしばらくいじってないぞ、と思い調べてみると

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

MySQLのsocketがなにやら問題を…!?
MySQL5.7使ってるのでドキュメントを見てみると、…

どうもsocketファイルが消滅しちゃってるか、見つからないか、なんにせよ自分しかサーバーをいじってない環境だったのでそんなバカなと思いつつも、プロセスを確認したらしっかりMySQLは起動してないし…。

しょうがないので色々最初からやり直し。
deamonが参照出来るようにシンボリックリンクを貼り直します。

一旦MySQLを停止。

/tmpと/var/run/mysqldにsocketファイルがあったら一旦消しましょう。(MySQL起動時に自動で生成される)

MySQLを起動。

これで無事起動出来るようになりました。
まぁ最初のエラーは前回何かあってMySQLが停止しちゃってて、mysql -u root -pとやっても出る内容なんで、まずは上記のを実行する前に以下コマンドで再起動してから確認したほうがいいかもしれません。

socketファイルの権限問題だったり、消失したり、そもそもMySQL停止ってたり、色々パターンあるので簡単なのから確認していけばいいですね。(自分はとりあえず消えてた…

それでは良い開発ライフを〜

スポンサーリンク
336 x 280 レクタングル(大)
336 x 280 レクタングル(大)