LoginSignup
2
0

More than 1 year has passed since last update.

macでmysqlが動かなくなった時の解決策 (Railsプロジェクト動かす編)

Last updated at Posted at 2021-01-08

久しぶりにローカルのmysql使ったら動かなくなった

railsプロジェクトで久しぶりにlocalのmysql使ったらmysqlが動かなくなっていました。その解決手順を以下に記述します。

とりあえず今あるmysqlを全部消す

データは消えてしまいますが、そのデータを作り直す時間を加味しても結果的にはmysqlを削除してしまったほうが早いです。古いmysqlが悪さしている場合、解決にかなり時間を取られてしまいますので。localのmysqlを辞めてdockerでmysqlを起動させて接続すればデータを残して解決するのですが、きっとこの記事の読者はlocalのmysqlを起動して接続したいはず...

  • コミュニティエディションのmysqlを削除する方法
rm -rf ~/Library/PreferencePanes/My*
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*
sudo rm /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
  • brewで入れたmysqlを削除する方法
$ brew uninstall mysql
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*
sudo rm -rf /etc/my.cnf

上2つとも流しておけばmysqlは全部消えるはず。

brewでmysqlをinstall

今回はbrewを使ってmysqlをinstallします。現状、brew install mysqlをすると8系列のmysqlがinstallされてしまうので、無難に5.7をinstallします。

brew install mysql@5.7

pathを通すために以下の1行を自分が使っているシェルの設定ファイルに記載してください。 ( bashなら ~/.bash_profile )

export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"

※もし昔に設定していたmysqlのPATHがあったら削除しましょう。

mysql.server start
Starting MySQL
 SUCCESS!

となればmysqlのinstallまで成功です。

過去に起動したRailsプロジェクトを動かす

以下はrailsのプロジェクトを動かすときのはまりポイント置いておきます。

過去にbundle installを実行したプロジェクトだと、その時入れてあったmysqlのversionに合わせてgemがinstallされていると思うので、rails db:createを実行すると以下のようなエラーが出てmysql周りが怒られているよ!というエラーが表示されると思います。

> rails db:create
rails aborted!
LoadError: dlopen

ですので以下のコマンドでgemをuninstallします。

bundle exec gem uninstall mysql2

して

bundle install 

を実行してmysql2のgemを入れ直しましょう。
ここでエラーが出る人は

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

bundle install前に上記コマンドを流してみてください。

参照:
https://qiita.com/akiko-pusu/items/aef52b723da2cb5dc596

2
0
0

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
2
0