MySQL Ruby on Rails

railsでCan't connect to local MySQL server through socket '/tmp/mysql.sock' になってしまった時の解決方法

本サイトの記事内にアフィリエイト広告が含まれる場合があります。

mysqlのエラー記事のアイキャッチ画像

awayuki

音大出身。学生時代はフリーランスでWEB制作・開発しながら、2社で長期エンジニアインターンを経験しました(2年半)。 23卒で、自社開発ベンチャー企業に入社しエンジニア・デザイナーとして働き、2024年1月起業しました! このブログでは、ブログ開設方法・プログラミング・音大からエンジニアになれた方法など書いています。 お仕事依頼はお問い合わせフォームからお問い合わせお願いします。 Zenn

不具合で、Macを再起動したあと、railsアプリが立ち上がらなくなってしまったので、その時の解決方法を紹介する。

エラー内容

サーバを立ち上げたあと、localhost:3000 にアクセスすると、以下のエラーが出ました。

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

解決方法

mysqlの問題かなと思ったので、まずは/tmp/mysql.sock を作成しました。

sudo touch /tmp/mysql.sock

そして次にmysqlを立ち上げようと下記を実行

sudo mysql.server start   

この時成功すれば、以下のように表示されます。

Starting MySQL
. SUCCESS! 

これで解決した人はこの記事はここまでで大丈夫です。

まだエラーが出る方用

まだエラーが出る場合は、以下のようなエラーになるでしょう。

ERROR! MySQL server PID file could not be found!Starting MySQL.. ERROR! 

The server quit without updating PID file (/opt/homebrew/var/mysql/****.local.pid).

エラーの詳細を調べるには以下のコマンドを実行します。

sudo cat /opt/homebrew/var/mysql/*****.local.err

*****の部分は自分のパソコンのホスト名(「uname -n」コマンドで確認可)

すると、色々エラーが見えると思います。

私の場合は、以下のようなエラーが出ていました。

Can't start server : Bind on unix socket: Address already in use
....
Could not open unix socket lock file /tmp/mysql.sock.lock.
....

Can't start server : Bind on unix socket: Address already in use

これは、MySQLが使用しようとしているUNIXソケットが既に使用中であることを示しています。

これは通常、別のmysqldプロセスが既に実行中である場合に発生します。

Could not open unix socket lock file /tmp/mysql.sock.lock.

これは、MySQLがUNIXソケットのロックファイルを開くことができないことを示しています。

これはファイルシステムの権限の問題、または別のプロセスがファイルをロックしている場合に発生する可能性があります。

解決のコマンド

既存のMySQLプロセスの終了

現在実行中のMySQLプロセスを探し、それを終了します。

これを行うには、ターミナルで以下のコマンドを実行します。

sudo pkill mysqld

ソケットファイルとロックファイルの削除

ソケットファイルとそのロックファイルを手動で削除します。

これにより、MySQLが新しいソケットを作成できるようになります。以下のコマンドを実行します。

sudo rm /tmp/mysql.sock /tmp/mysql.sock.lock

MySQLの再起動

最後に、MySQLを再起動して、問題が解決したかどうかを確認します。

sudo mysql.server start

これで解決できました🎉

もし解決できない場合は、mysqlのインストールをし直してみてください。
brew reinstall mysql

  • この記事を書いた人

awayuki

音大出身。学生時代はフリーランスでWEB制作・開発しながら、2社で長期エンジニアインターンを経験しました(2年半)。 23卒で、自社開発ベンチャー企業に入社しエンジニア・デザイナーとして働き、2024年1月起業しました! このブログでは、ブログ開設方法・プログラミング・音大からエンジニアになれた方法など書いています。 お仕事依頼はお問い合わせフォームからお問い合わせお願いします。 Zenn

-MySQL, Ruby on Rails
-,