質問: 今ruby on railsで作成したアプリケーションをherokuにあげようとしています。ターミナル上で ``` git push heroku master ``` を実行後に ``` heroku run rake db:migrate ``` を実行しようとしたのですが、 ``` Access denied for user '*****'@'*****.ec2.internal' (using password: YES) ``` となってしまってエラーが起きてしまいます。sequel proでのログインもできなかったのでmysqlのエラーだと思うのですが、これは何が原因でしょうか?今回使用するユーザーのパスワードが正しく設定できていないためかなと思うのですが何かご存知の方はいらっしゃいますか? なお、mysql2を使用するための変更は行なっています。 CLEARDB_DATABASE_URLと DATABASE_URL:の値は同じになるように設定しています。 何かご存知の方教えていただけると幸いです。よろしくお願いします。 ### 補足情報(FW/ツールのバージョンなど) ``` 使用DB mysql2 gem 'rails', '~> 5.0.6' ``` ### 追記 このteratailに書かれている記事と同じ現象が起きています。 > > そうすると、やはりclearDB側の設定と上記コメントでもらっている情報が違うのではないかと思いますね。 > > urlの構成は > > mysql2://ユーザ名:パスワード@サーバ名/データベース名?reconnect=true > > となっています。ですので、wokrbench等を使用して、上記情報でclearDBにつないでみて、それでもログインできない場合はherokuの環境変数(heroku config)に持っている情報とclearDB側の設定が異なっているということになるかと。 > > > herokuの環境変数とclearDBの設定が異なっている場合の設定のすり合わせ方法がわかりません、、、何かご存知の方教えていただけると幸いです🙇 ### 解決した方法 上の記事を参考にしたところ、 > > herokuの環境変数(heroku config)に持っている情報とclearDB側の設定が異なっているということ > > という記述部分に注目して > > > ターミナル上で ``` heroku addons --app アプリケーション名 ``` を試してみたところ、heroku configに書かれているdatabaseの名前とデータベースの名前が違っていました。なので正しいデータベースの名前にconfig:setで設定し直したところ直すことができました。
回答: Heroku で、MySQL ということは、ClearDB アドオンをお使いと思いますが、下記のURLのようにユーザー情報を確認して、Rails アプリに設定していますか? https://devcenter.heroku.com/articles/cleardb#configuring-your-ruby-application-to-use-cleardb