##エラー内容
rails s
でサーバーを立ち上げてlocalhost:3000
にアクセスするのですが、mysqlでエラーが出てしまいます。
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (38) mysql2 (0.4.10) lib/mysql2/client.rb:89:in `connect' mysql2 (0.4.10) lib/mysql2/client.rb:89:in `initialize' activerecord (5.0.6) lib/active_record/connection_adapters/mysql2_adapter.rb:25:in `new' activerecord (5.0.6) lib/active_record/connection_adapters/mysql2_adapter.rb:25:in `mysql2_connection' activerecord (5.0.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:729:in `new_connection' activerecord (5.0.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:773:in `checkout_new_connection' activerecord (5.0.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:752:in `try_to_checkout_new_connection' activerecord (5.0.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:713:in `acquire_connection' activerecord (5.0.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:490:in `checkout' activerecord (5.0.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:364:in `connection' activerecord (5.0.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:883:in `retrieve_connection' activerecord (5.0.6) lib/active_record/connection_handling.rb:128:in `retrieve_connection' activerecord (5.0.6) lib/active_record/connection_handling.rb:91:in `connection'
##現状
/var/run/mysqld/mysqld.sock
ファイルは作成しております(作成したら末尾の数字が2→38に変わりました)
mysql.server start
を実行すると、しっかりmysqlは走り、ps aux | grep mysqld
で調べてもdeamonは正しく起動してます。
SUCCESS! MySQL running (8167)
##試したこと
ディレクトリ権限
sockファイルは存在しているので、( /tmp/mysql.sock
)
mysqlが入っているディレクトリ権限が原因ぽいので以下のコマンドを打ちましたがダメでした。。
sudo chown mysql:mysql /tmp
参考: https://qiita.com/carotene4035/items/e00076fe3990b9178cc0
find / | grep my.cnf
でファイルを探して/usr/local/etc/my.cnf
に以下のように記述して
socket=/var/run/mysqld/mysqld.sock
mysql.server start
したのですが、こんどはERROR! The server quit without updating PID file (/usr/local/var/mysql/negireiBookpuro.pid).
というエラーが出たので再度sudo chown mysql:mysql /tmp
を叩きましたがうまく行きませんでした。
mysqlサーバーに使うソケットをクライアントに合わせる?と,うまくmysqlが走りましたが、同じエラーが出てしまいダメでした。。
#socket=/var/run/mysqld/mysqld.sock socket=/tmp/mysql.sock
mysql.server start
Starting MySQL .. SUCCESS!
rails s
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (38)
参考: http://www.hi-ho.ne.jp/tsumiki/book_sup2.html
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
実行環境:
OS: mac OS High Sierra 10.13.6
Mysql: 8.0.12 for osx10.13 on x86_64 (Homebrew)

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。