【本番環境】【備忘録】rails db:create RAILS_ENV=production でrails aborted! Mysql2::Error::ConnectionError: Access denied for user 'root'@'localhost' (using password: NO)とエラーが出る問題の対処法
AWSのサービスである、EC2とRDSを用いてローカルで作成したRailsのアプリをデプロイしようと作業を進めています。
https://qiita.com/naoki_mochizuki/items/5a1757d222806cbe0cd1
上記記事に従って
rails db:create RAILS_ENV=production
rails db:migrate RAILS_ENV=production
を行ったのですがタイトルのエラーが発生・・・
エラー文
rails aborted!
Mysql2::Error::ConnectionError: Access denied for user 'root'@'localhost' (using password: NO)
/var/www/rails/アプリ名/bin/rails:9:in `<top (required)>'
/var/www/rails/アプリ名/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:create
(See full trace by running task with --trace)
試したこと
rails aborted!
Mysql2::Error::ConnectionError: Access denied for user 'root'@'localhost' (using password: NO)
/var/www/rails/アプリ名/bin/rails:9:in `<top (required)>'
/var/www/rails/アプリ名/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:create
(See full trace by running task with --trace)
①$ mysql -u root -p の実行
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.34 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
特に問題なく入れた。
②config/database.ymlを開き、パスワードを記載
いつも使っているのがVSコードなので、VSコードにてdatabase.ymlを開く。
本番環境用のパスワードの欄が空欄だったため、記載する。
しかし全く同じエラー。どうして・・・・・?
結論
ローカル環境ではなく、「本番環境(EC2)」にてconfig/database.ymlを開き、パスワードを記載すると解決します!
(ローカル環境にてdatabase.ymlを編集していたので、本番環境への影響がなく、全く意味のないことをしていたようです。。)
手順(注意:すべて本番環境の中で実行する)
asami|アプリ名
$ vi config/database.yml
database.yml
production:
<<: *default
database: アプリ名_production
username: root
password: XXXXX # ←ここに記述
$ vi config/database.yml
production:
<<: *default
database: アプリ名_production
username: root
password: XXXXX # ←ここに記述
無事に通りました!
本当に単純すぎる間違いでかなり時間をロスしました・・・・・
Author And Source
この問題について(【本番環境】【備忘録】rails db:create RAILS_ENV=production でrails aborted! Mysql2::Error::ConnectionError: Access denied for user 'root'@'localhost' (using password: NO)とエラーが出る問題の対処法), 我々は、より多くの情報をここで見つけました https://qiita.com/asami___t/items/8d126507b9f3351f9d4f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .