現在Ruby on Railsを使用したアプリを開発中でDBにはMySQLを使用しています。
昨日までMySQLが動いていたのを確認していたのですが、本日アプリからデータを閲覧しようとしたところ、ブラウザで「このページは動作していません」と表示され、ログを確認すると「Mysql2::Error::ConnectionError (Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)):」が表示されていました。
結果としては、同様のエラーを解決した方の記事を参考にMySQLの再起動・接続ができるようになったのですが、いまいち腑に落ちていないので解決策というよりは「なぜこの手順で再起動・接続ができるようになったか」をご教示いただけますと幸いです。
【これまでに行なったこと】
①ターミナルでMySQLへログイン確認、MySQLのバージョン確認、再起動のコマンド
→同様のエラーで弾かれてしまいました。
②「/tmp/mysql.sock」の確認・作成
→上記エラーで表示されていたファイルを確認したところ、該当ファイルがなかったので作成、「mysql -v」でバージョン確認を行なったところ「Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)」と別の行でのエラーが発生しました。
一度MySQLを停止していたのを思い出し「sudo mysql.service restart」をしたところ「ERROR! The server quit without updating PID file (/usr/local/var/mysql/***.local.pid).」と表示されました。
③「.local.pid」の確認・作成
→「/usr/local/var/mysql」内に該当ファイルが見当たらなかったので「sudo touch /usr/local/var/mysql/.local.pid」を実行し、再度「mysql.service restart」をしましたが「ERROR! The server quit without updating PID file (/usr/local/var/mysql/***.local.pid).」のまま・・・
③を行なった後、「/usr/loocal/var/mysql/」と「/tmp」の中身を確認したところ、「***.local.pid」と「mysql.sock」が見当たらない・・??
(一度作成したはずなのになぜ無くなっているのでしょうか?)
上記のような状況でした。
こちらの記事を参考に「/usr/local/val/mysql」の権限を変更したところ、再起動のコマンドが動き、MySQLへのログインも可能になりました。(権限を変更した影響なのか「mysql -v」でバージョン確認ができなくなりました、、、)
最終的にはmysqlディレクトリの権限変更で解決できたような感じなのですが、なぜ権限変更で解消されたのか、、詳しい方がいらっしゃいましたらご教示いただけますと幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/22 11:16
2020/04/23 02:18
2020/04/23 04:10
2020/04/23 04:16
2020/04/23 10:50