はじめに
railsアプリでマイグレーションを実行しようとrails db:migrate
を実行すると以下のようなエラーが発生しました。
[IMPORTANT]
Don't forget to include the Crash Report log file under
DiagnosticReports directory in bug reports.
rails db:migrate:reset
しても解決せず、躓きました。
環境
ruby 3.1.1
rails 6.1.7.3
mysql 5.7
gem mysql '~> 0.5'
原因
自分の場合、brewでmysqlをインストールしていました。
そして以下のディレクトリにはインストールしたバージョンが格納されているのですが、使用していたmysql5.7ではなくmysql8.0がいつの間にか格納されていました。
/usr/local/Cellar/mysql
解決
mysqlをアンインストールします。
brew uninstall mysql
そして、開発に必要なバージョンのmysqlをインストールし直します。
brew install mysql@5.7
mysqlを起動します。
brew services start mysql@5.7
gem mysqlをアンインストールします。
bundle exec gem uninstall mysql2
再びインストールします。
bundle install
参考
MySQL起動エラーの対処の仕方【Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.21.dylib (LoadError)】