#環境
Rails6.1.3
Ruby3.0.1
MySQL8.0.23
#エラー内容
時々、
ActiveRecord::ConnectionNotEstablished (Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)):
というソケットに接続できないエラーが出ることがあります。
#原因
原因の一つとして考えられるのが、Mysqlサーバーが起動していないことです。
MySQLサーバーの状態を確認してみます。
% mysql.server status
Permission denied
ERROR! MySQL is not running, but PID file exists
PIDファイルはあるが、サーバーが動いていないと表示されました。
PID
とはプロセスIDのことで、プロセスを管理するための識別子のこと
です。実際にファイルの中身をみてみると整数が割り当てられていると思います。
PIDファイルもない場合は、ファイルを作成することになります。
#解決方法
サーバーを動かすために以下のコマンドを入力します。
% sudo mysql.server start
Starting MySQL
SUCCESS!
これでもうまくいかない時は、
% sudo mysql.server restart
も試してみてください。