herokuへのデプロイ後、heroku run rake db:migrateでのエラー
解決済
回答 1
投稿
- 評価
- クリップ 2
- VIEW 1,380
よろしくお願いします。
初心者です。今ruby on rails で作ったアプリを、
herokuにデプロイしているところで詰まってしまいました。
git push heroku masterはうまく行ったのですが、
その後の heroku run rake db:migrateがうまくいきません。
下記のエラーメッセージが出てきてしまいました。
解決方法をご教示いただけますとありがたいです。
よろしくお願いしまうs。
rake aborted!
Mysql2::Error: Access denied for user 'b46ce4e0123b89'@'ip-10-180-171-134.ec2.internal' (using password: YES)
/app/vendor/bundle/ruby/2.3.0/gems/mysql2-0.3.18/lib/mysql2/client.rb:70:in connect'
/app/vendor/bundle/ruby/2.3.0/gems/mysql2-0.3.18/lib/mysql2/client.rb:70:in
initialize'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in new'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in
mysql2_connection'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:438:in new_connection'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:448:in
checkout_new_connection'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in acquire_connection'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:349:in
block in checkout'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:348:in checkout'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:263:in
block in connection'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:262:in connection'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:571:in
retrieve_connection'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_handling.rb:113:in retrieve_connection'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/connection_handling.rb:87:in
connection'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/migration.rb:916:in initialize'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/migration.rb:823:in
new'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/migration.rb:823:in up'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/migration.rb:801:in
migrate'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/tasks/database_tasks.rb:137:in migrate'
/app/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.5.1/lib/active_record/railties/databases.rake:44:in
block (2 levels) in <top (required)>'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli/exec.rb:74:in load'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli/exec.rb:74:in
kernel_load'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli/exec.rb:27:in run'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli.rb:360:in
exec'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in
invoke_command'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor.rb:369:in dispatch'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli.rb:20:in
dispatch'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/vendor/thor/lib/thor/base.rb:444:in start'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/cli.rb:10:in
start'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/exe/bundle:30:in block in <top (required)>'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/friendly_errors.rb:121:in
with_friendly_errors'
/app/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/exe/bundle:22:in <top (required)>'
/app/bin/bundle:3:in
load'
/app/bin/bundle:3:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
追記で頂いた情報から、MySQL接続設定が不足していることが考えられます。
まずheroku config
を実行します。
heroku config
CLEARDB_DATABASE_URL: mysql://[DB_USERNAME]:[DB_PASSWORD]@[DB_HOST]/[DB_DATABASE]?reconnect=true
2行目の情報が取れると思いますので、以下のように環境変数を設定してから再度heroku run rake db:migrate
してみて下さい。
heroku config:set DB_USERNAME=[DB_USERNAME]
heroku config:set DB_PASSWORD=[DB_PASSWORD]
heroku config:set DB_HOST=[DB_HOST]
heroku config:set DB_DATABASE=[DB_DATABASE]
解決しないようであれば差し支えない範囲でheroku config
の結果とconfig/database.yml
の内容を教えて下さい。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.19%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
dyoshikawa
2018/04/27 20:49
heroku run rake db:migrate以外に実行したherokuコマンドがあれば教えて頂けますでしょうか?(heroku config:set、heroku addons:add等)。コマンド以外にもブラウザ上のherokuコンソールで設定したことがあれば挙げて頂きたいです。
mdtkru
2018/04/27 22:03
返信ありがとうございます! mysqlに変換しています。gemに 'mysql2', '0.3.18'を入れました。 heroku login後は、 git init git add . git commit -m "init commit" heroku create heroku addons:add cleardb heroku addons:detach DATABASE -a アプリ名 heroku config:add DATABASE_URL='mysql2:〜〜の〜〜にheroku config | grep CLEARDB_DATABASE_URLで取得したmysql2://〜〜の〜〜以下を入れました。そして、git push heroku masterのあと、heroku run rake db:migrateをしました。よろしくお願いします。