0
0

More than 1 year has passed since last update.

ローカル環境でMySQLが立ち上がらないときの解決策

Last updated at Posted at 2021-12-24
rake aborted!
ActiveRecord::ConnectionNotEstablished: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)

というエラーが発生した。/tmpディレクトリを確認してもmysql.sockはしっかりと存在する。
mysqlを起動してみると下記のエラーが起こっていることが判明した。

$ sudo mysql.server start
Password:
Starting MySQL
.Logging to '/usr/local/var/mysql/fujiwaratakuminoMacBook-Pro.local.err'.
 ERROR! The server quit without updating PID file (/usr/local/var/mysql/fujiwaratakuminoMacBook-Pro.local.pid).

というエラーが起こっていることが判明した。

pidファイルとは?

「.pid」で終わっているファイルがpidファイルです。このファイルには、該当するプロセスのプロセスIDなどの情報が記述されています。たとえば、/var/run/crond.pidファイルには、crondのプロセスIDが記述されています。
このファイルは、スクリプトやほかのプロセスで利用されます。プロセスIDが記述されているので、このファイルはプロセスの制御(再起動や停止など)、プロセス同士の連携などに利用されます。
参照先 「/var/run」ディレクトリ

ググった末にmysql起動時でエラーが起きた時の対処の記事を参考に

$ sudo rm /tmp/mysql.sock
$ chown -R _mysql:_mysql mysql

を実行。再度sudo mysql.server restartを実行するが、

 $ sudo mysql.server restart
 ERROR! MySQL server PID file could not be found!
Starting MySQL
.Logging to '/usr/local/var/mysql/fujiwaratakuminoMacBook-Pro.local.err'.
 ERROR! The server quit without updating PID file (/usr/local/var/mysql/fujiwaratakuminoMacBook-Pro.local.pid).

と違うエラーが発生した。/tmp/mysql.sockを消したのがまずかったのかと思った。
今度は、mysql 起動時のThe server quit without updating PID file エラーの回避法を参考にした。

$ ls /usr/local/var/mysqlを実行してみると*****.local.pidがなかった。

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

を実行。sudo mysql.server restartを実行してみるが、*****.local.pidに権限がなかったので、

sudo chown -R _mysql:_mysql /usr/local/var/mysql/

これで無事動くことができました!

参考にさせて頂いていたサイト

「/var/run」ディレクトリ
mysql起動時でエラーが起きた時の対処
mysql 起動時のThe server quit without updating PID file エラーの回避法

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0