前提・実現したいこと
オリジナルアプリ制作中で、herokuを使用して本番環境にマイグレーションファイルを反映するためにheroku run rails db:migrateを実行すると、下記のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
socketが見当たらないというエラーですが、heroku config(下記参照)で確認する限り、正しく設定されているように思えます。(DBにはmysql2を使用のため、heroku addons:add cleardbを実行しております)
該当のソースコード
$heroku config === matchingapp28365 Config Vars CLEARDB_BRONZE_URL: mysql://b86982abbb8b74:1dbe4ac8@us-cdbr-east-02.cleardb.com/heroku_13896a2f24519f1?reconnect=true CLEARDB_DATABASE_URL: mysql://bb10c5de4f3a3a:46b41988@us-cdbr-east-02.cleardb.com/heroku_b81b0df638c575b?reconnect=true DATEBASE_URL: mysql2://bb10c5de4f3a3a:46b41988@us-cdbr-east-02.cleardb.com/heroku_b81b0df638c575b?reconnect=true LANG: en_US.UTF-8 RACK_ENV: production RAILS_ENV: production RAILS_LOG_TO_STDOUT: enabled ■socketの確認 $ mysql_config --socket /tmp/mysql.sock 下記はdetabase.yml default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: socket: /tmp/mysql.sock ■Gemfileの確認 gem 'mysql2', '>= 0.4.4'
試したこと
■mysqlの再起動
sudo mysql.server restart
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。