ruby on rails

rails sをしても突然MySQLに接続できなくなってしまった

この記事ではmac osでの対処を記載しています。

railsでアプリ開発を行っている際、

いつものようにlocalhostでアプリケーションを開こうと

rails s

コマンドを実行すると、

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

のようにエラーが表示されてしまい、

「なぜ!?何かやらかした!!??」と焦るというシュチュエーションがしばしばありました。

今回はそんな時のための解決方法をまとめます。

原因はmysql.sockファイルが無いから!

osのアップデートや、意図しない操作などによって、何らかのタイミングでアプリケーションのフォルダの中からmysql.sockファイルが消えてしまうことが根本的な原因だそうです。

そのため、手動でもう一度作ってあげれば問題は解決します!

touch /tmp/mysql.sock

これでtmpディレクトリの中にmysql.sockファイルを作成してあげます。

次に、サーバーをリスタートしてあげるのですが、ここでエラーが発生!

sudo mysql.server start
ERROR! MySQL server PID file could not be found! 
Starting MySQL 
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/*****.local.pid).

PIDファイルが無いよ!

怒られてしまったので、“`/usr/local/var/mysql“`

にpidファイルを作成します。

まずは、マシンホストの名前を確認します。

uname -n
*****.local

と出力されるので、*****の部分を下に代入します。

touch /usr/local/var/mysql/*****.local.pid

これで完了です!

あとは、先ほどと同様に

mysql.server start
Starting MySQL 
... SUCCESS!

これで無事復旧です!

あとは、いつも通り作業ディレクトリで

rails s

を実行すれば大丈夫です!

追記

windowsでubuntuを使うWSLでもやってみたのですが、mysql.serverコマンドが上手く動いてくれなかったので諦めてしまいました。

 

 

 

オススメのプログラミングスクールをご紹介

タイピングもままならない完全にプログラミング初心者から

アホいぶきんぐ
アホいぶきんぐ
プログラミングってどこの国の言語なの~?

たった二ヶ月で

いぶきんぐ
いぶきんぐ
え!?人工知能めっちゃ簡単にできるじゃん!

応用も簡単にできる…!!

という状態になるまで、一気に成長させてくれたオススメのプログラミングスクールをご紹介します!

テックアカデミーのPython+AIコースを受講した僕が本音のレビュー・割引あり! というプログラミング完全初心者だった僕が Tech Academy(テックアカデミー)のPython×AIコース を二ヶ月間...

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です