アラフォーからのプログラミングとデザイン

大人から始めたプログラミングとデザインについてのあれこれ

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)というエラーを解決

f:id:simpledancer:20210204122926j:plain

新しく参加したプロジェクトでgit cloneしたら色々エラーが出ていきなり心が折れました。
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

こんなエラー。


今まで出たことがなかっったのですが、どう考えてもlocaLなので私のPCの方の設定問題だと思いました。

まず、railsのバージョンが無いよ!から始まり、冒頭のエラーを解決するためにやったことを書きます。(色々やりすぎて行方不明)

 

simplelifedancer.hatenablog.com

MySQLサーバーをなんとかする

mysql -u root

このコマンドを叩くと、

Error!

と吐き出されます。
エラーは心が折れますが、絶対なんとかなると信じて。
$ sudo mysql.server restart

こちらのコードでリスタートしてみてはどうだろう??と思いコマンドを打ってみたところ

Starting MySQL
. ERROR! The server quit without updating PID file (/usr/local/var/mysql/MacBook-Pro.pid).

またエラー。
pidファイル?なんだなんだ、、、?ということで以下を参考にファイルを作ってみたりしてみたのですが。

mysql 起動時のThe server quit without updating PID file エラーの回避法 - Qiita

どうやら違うっぽい。

斯くなる上は、でmysqlサーバーをアンインストール、再インストールすることにしました。
$brew uninstall mysql

そして

$brew install mysql

したところ、それでも変わらず。

/usr/local/var

これで

drwxrwxr-x   4 yumiko  admin   128 11 17  2019 homebrew
drwxr-xr-x 4 yumiko admin 128 8 3 2020 log
drwxr-xr-x 27 _mysql _mysql 864 2 5 10:34 mysql
drwx------ 26 yumiko admin 832 1 9 15:58 postgres
drwxr-xr-x 4 yumiko admin 128 9 13 2019 rbenv

mysqlのところだけ_mysql

権限問題かな?

sudo chown -R yumiko mysql

すると変わりました。

drwxr-xr-x  27 yumiko  _mysql  864  2  5 10:48 mysql

これでいける、、はず!

$ mysql.server start
Starting MySQL
SUCCESS!

サクセスしました。

$ mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.23 HomebrewCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

これでmysqlの方はうまくいったみたいです。もう、サーバー関係勘弁してくださいって感じです。

railsと繋げる作業

はい、この辺もよくわかってませんでした。
database.ymlには環境変数でローカルのユーザーネームやパスワードを入れるようになっているのですが、.envファイルを私はまず作っていなかったので、こちらを作りました。

DB_USERNAME = 'mysqlのユーザーネームを記入'
DB_PASSWORD = '設定したパスワードを記入'
DB_HOST = 'ホスト名を記入、localhostとか'

ここで私は時間を食ったのですが、

Puma caught this error: Cannot load database configuration:
YAML syntax error occurred while parsing /Users/tezukayumiko/Desktop/creator_match_pf/config/database.yml. Please note that YAML must be consistently indented using spaces. Tabs are not allowed. Error: (<unknown>): found unexpected end of stream while scanning a quoted scalar at line 5 column 13 (RuntimeError)

syntaxエラーがdatabase.ymlにあるよ!みたいなことを書かれていますが、そもそもこのapp自体はチームのものをcloneしてきているし、他の人は普通に使えているのでどう考えても私がおかしい、、、。

rootユーザーでパスワードを設定してなかったので、本来ならパスワードは必要なかったのですが、macのパスワードを勘違いして入れてました。なのでrootユーザーであればパスワードは無しで大丈夫。

これで,railsと繋がったので

$rails db:create

$rails db:migrate

で、めでたくサーバーが立ち上がりyeh rails画面が表示されました。
いやー、長かった、、、。

まとめ

  • エラーを読もう。
  • 焦らず一つずつ潰そう
  • 悩んで手詰まりなら、人に聞く。

私はメンターしてもらってる人もいるので無理ー!って時は聞くようにしてます。
ある程度はググればできるようになってきましたが、やっぱり聞くと早い。

simpledancer.hatenablog.com