#わからないこと
EC2にRailsアプリの本番環境を構築しています。
unicorn
の起動の際にMySQL
との接続エラーが発生するのですが、設定を見直していても原因がわかりません。
##実行したコマンド
ec2-user@ip~ $ bundle exec unicorn_rails -c config/unicorn.rb -E production -D
##エラー
master failed to start, check stderr log for details
##ログの内容
/unicorn.stderr.logの中身 I, [2020-09-14T06:51:56.022146 #21711] INFO -- : Refreshing Gem list I, [2020-09-14T06:51:58.226567 #21711] INFO -- : listening on addr=0.0.0.0:3000 fd=9 E, [2020-09-14T06:51:58.336893 #21711] ERROR -- : Access denied for user 'ユーザー名'@'localhost' (using password: YES) (Mysql2::Error::ConnectionError) ・ ・ ・
##ps -aef | grep mysqlの結果
ec2-user 6564 6489 0 03:31 pts/1 00:00:00 grep --color=auto mysql mysql 28647 1 0 9月14 ? 00:05:16 /usr/sbin/mysqld
##databese.yml
default: &default adapter: sqlite3 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> timeout: 5000 development: adapter: mysql2 encording: utf8 database: アプリ名_development pool: 5 username: ユーザー名 password: パスワード(ローカルで設定したもの) host: localhost # 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: adapter: mysql2 encoding: utf8 reconnect: false database: アプリ名_test pool: 5 username: ユーザー名 password: パスワード(ローカルで設定したもの) host: localhost production: <<: *default database: <%= Rails.application.credentials.db[:database] %> username: <%= Rails.application.credentials.db[:username] %> password: <%= Rails.application.credentials.db[:password] %> socket: <%= Rails.application.credentials.db[:socket]%>
##credentials.yml
db: database: アプリ名 username: root password: パスワード(インスタンス上で設定したもの) socket: /var/lib/mysql/mysql.sock
master.key
を設定し直したりもしましたが、他にどんな設定を見直したらいいのかわかりません。
確認すべきファイルだけでもご教授いただけますと幸いです。
どうかよろしくお願いいたします。
作業環境
- macOS Catalina
- Amazon Linux2
- EC2
- MySQL
- Ruby on Rails6
###追記
yu_1985様の御指摘をいただき、database.yml
を書き換えました。
default: &default adapter: mysql2 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> timeout: 5000 encording: utf8 database: アプリ名 pool: 5 username: root password: パスワード host: localhost
この状態で起動を試みると、ログでこのようなエラーが確認できました。
(master failed to start, check stderr log for details
が出ることには変化なし)
I, [2020-09-16T06:46:26.296957 #8946] INFO -- : Refreshing Gem list bundler: failed to load command: unicorn_rails (/home/ec2-user/.rbenv/versions/2.6.6/bin/unicorn_rails) NoMethodError: Cannot load database configuration: undefined method `[]' for nil:NilClass ・ ・ ・
現在このエラーについて調べています。
もしこのエラーについてお分かりでしたら、何卒ご教授ください。
回答2件
あなたの回答
tips
プレビュー