####状況
現在、AWS環境にて、railsで作成したアプリをデプロイしたく作業しているのですが、
本番環境でmysqlのデータベースが作成できず、止まっております。
mysqlはAWSのRDSにインストールしており、
EC2からRDSに接続する形で設定しております。
何かおわかりの方がいらっしゃいましたら、ヒントをいただけますと幸いです。
####エラー文
[ec2-user@ip-**** アプリのディレクトリ ]$ rails db:create RAILS_ENV=production Access denied for user 'rails'@'localhost' (using password: YES) Couldn't create 'アプリ名_production' database. Please check your configuration. rails aborted! Mysql2::Error: Access denied for user 'rails'@'localhost' (using password: YES) /var/アプリ名/rails/アプリ名/bin/rails:9:in `<top (required)>' /var/アプリ名/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_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rails db:drop
のコマンドで一度データベースをdropしようとしましたが、かわらず、エラーでした。
RAILS_ENV=production rails db:create
とRAILS_ENV=production の位置を変えても結果は変わらず
データベースが追加されていない様です。
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | innodb | | mysql | | performance_schema | | sys | | tmp | +--------------------+ 6 rows in set (0.00 sec)
mysql> SELECT User, Host FROM mysql.user; +-----------+-----------+ | User | Host | +-----------+-----------+ | root | % | | mysql.sys | localhost | | rails | localhost | | rdsadmin | localhost | +-----------+-----------+ 4 rows in set (0.01 sec)
mysqlのユーザーについては、元々rootユーザーだったのですが、
新たにrailsという名前のユーザーを作成し、このユーザーに権限を与えています。
database.yml default: &default adapter: mysql2 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: rails password: (パスワードを記載しています) host: localhost development: <<: *default database: アプリ名_development username: rails password: (パスワードを記載しています) # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. test: <<: *default database: アプリ名_test username: rails password: (パスワードを記載しています) production: <<: *default database: アプリ名_production username: rails password: (パスワードを記載しています)
念のためローカル環境でのデータベースを確認したのですが、
ローカルではmysqlが反映されている様でした。
mysql> SHOW DATABASES; +--------------------------+ | Database | +--------------------------+ | information_schema | | アプリ名 | | アプリ名_development | | アプリ名_test | | mysql | | performance_schema | | sys | +--------------------------+ 7 rows in set (0.03 sec)
追加で記載すべき情報がございましたら、指示いただけますと幸いです。
何卒宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/25 14:23