LoginSignup
0
0

More than 1 year has passed since last update.

【MySQL5.7】rails db:create しようとしたら、 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (38) になった時の解決法

Last updated at Posted at 2021-07-21

動作環境

Mac Big Sur 11.3.1
Rails 6.1.4

経緯

久しぶりにRailsの勉強をしてみようと思って rails db:create しようとしてみたら、タイトルのエラーが出現しました。
似たような記事はたくさんありますが、すぐに解決できなかったので、解決方法を記録しておきます。

解決方法

一度MySQLをアンインストール

brew uninstall mysql

関連するところの削除

$ sudo rm -rf /usr/local/mysql
$ sudo rm -rf /Library/StartupItems/MYSQL
$ sudo rm -rf /Library/PreferencePanes/MySQL.prefPane
$ sudo rm -rf /Library/Receipts$ sudo rm -rf /usr/local/Cellar/mysql*
$ sudo rm -rf /usr/local/bin/mysql*
$ sudo rm -rf /usr/local/var/mysql*
$ sudo rm -rf /usr/local/etc/my.cnf
$ sudo rm -rf /usr/local/share/mysql*
$ sudo rm -rf /usr/local/opt/mysql*

再度MySQL5.7のインストール

brew install mysql@5.7
brew services start mysql@5.7
brew link mysql@5.7 --force

パスを通す

#zshの場合
echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

#bashの場合
echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

bundle config を実行

bundle config --global build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"

database.yml の内容を修正する

default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password:
  #socket の内容を修正
  #socket: /var/lib/mysql/mysql.sock
  socket: /tmp/mysql.sock

参考にしたサイト

mysqlが起動できない(Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2))
【MySQL】pid not foundもしくはpermission deniedの対応方法
Mac MySQLをきれいにアンインストールしてからインストールする

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0