この記事では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コース を二ヶ月間...