Railsで ローカルのmysqlサーバーに接続しようとするとsocketのエラーがでてしまう。
以前にAWS のCloud9で作成したRails アプリケーションを自分のPCにコピーしました。
ローカル環境でRailsサーバを立ち上げWebアプリ(Chrome) でlocal host3000 に接続したところ
以下のエラーが出てしまいました。
発生している問題・エラーメッセージ
RA
Mysql2::Error::ConnectionError Can't connect to local MySQL server through socket var/lib/mysql/mysql.sock' (38)
試したこと
こちらの記事を参考に、そもそもRailsのデータベースの設定がローカル環境に合っていないのではないかと思われたので、以下を試しました。
まず、MySQLのsocketの位置を次のとおり確認。
(base) USE名:tmp user$ mysqladmin variables | grep socket | socket | /tmp/mysql.sock |
これを参考に、
config/database.yml
を
###変更前
socket: /var/lib/mysql/mysql.sock
###変更後
socket: /tmp/mysql.sock
としました。
それからrailsサーバを再起動してみましたが、エラーメッセージが
変更後のエラーメッセージ
Mysql2::Error::ConnectionError Can't connect to local MySQL server through socket 'tmp/mysql.sock' (2)
と、末尾の数字が(38)から(2)に変わったものの解決はできませんでした。
補足情報
MySQLサーバが立ち上がらないという記事は多数あり、その中にはtmp/myswl.sock
ファイルの所有者をchownコマンドで_mysql
に変えるという方法も書かれていましたが、それをやってみたところターミナルからもMySQLが起動しなくなってしまったため、現状では所有者はuser
に戻しています。(実は最初の所有者が何で合ったか、もはやよくわからないのですが)
ちなみに現在の.sock ファイルの状況は以下の通りです。
(base) USER名:tmp user$ ls -l total 16 srwxrwxrwx 1 user _mysql 0 8 22 12:36 mysql.sock
初歩的な問題かと思うのですが、解決できないままに半月ほど経ってしまいました。ご教示いただければとてもうれしいです。
###実行環境
PC:macOS Catalina
mysql 8.0.21 (bottled)
Rails 5.2.4.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/26 13:56