shotapekka
@shotapekka (minoru sakai)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

unicornサーバを立てる時に起こるmysqlのエラーを治す方法

unicornでサーバーを立てたいのだがmysql関連のエラーを治せない

Rails7でアプリをつくっています。
こちらの記事を参考にrailsアプリをデプロイしていました。
https://qiita.com/gyu_outputs/items/f06b0cce5c476a7f192b

unicornサーバを下記のコマンドで起動したのですがエラーが起きました。

bundle exec unicorn_rails -c config/unicorn.rb -E production -D

発生している問題・エラー

I, [2023-03-04T03:22:07.392835 #19693]  INFO -- : Refreshing Gem list
I, [2023-03-04T03:22:08.570491 #19693]  INFO -- : listening on addr=0.0.0.0:3000
 fd=9
E, [2023-03-04T03:22:08.572058 #19693] ERROR -- : We could not find your databas
e: e_note. Which can be found in the database configuration file located at conf
ig/database.yml.

e_noteという名前のデータベースをdatabase.ymlで設定したのですが、
システム側が見つけられていないと思い、確認しました。

config/database.yml

default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: password
  socket: /var/lib/mysql/mysql.sock

development:
  <<: *default
  database: e_note_development

# 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: e_note_test

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

secret_key_base: 9029112e4b2166db232e1e67878ad55d8212a813dd55c971e15a9e6f8181bdc83f75b4b60ea337a80dc6047fd229bb68750a703db763b32f88145498e8d6aaca

db:
  database: e_note
  username: root
  password: 0712@Shota
  socket: /var/lib/mysql/mysql.sock

しかし、databaseはe_noteになっているし間違っているとは思えません。

記事のunicornはバージョンが古いのでアップデートしました。
Gemfileです。

 gem "minitest",                 "5.15.0"
  gem "minitest-reporters",       "1.5.0"
  gem "guard",                    "2.18.0"
  gem "guard-minitest",           "2.4.6"
  gem 'rspec-rails'
  gem 'spring-commands-rspec'
  gem 'factory_bot_rails'
  gem 'database_cleaner'
  gem 'launchy'
end

group :production do
  gem 'date', '~> 3.3', '>= 3.3.3'
  gem 'unicorn', "6.1.0"
  gem 'mysql2', "0.5.5"
  gem "aws-sdk-s3", "1.114.0", require: false
end

# Windows ではタイムゾーン情報用の tzinfo-data gem を含める必要があります
# gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
gem "erb-formatter", "~> 0.4.1"

gem "dockerfile-rails", ">= 1.0", :group => :development

mysqlには問題なくアクセスできます。mysqlのサーバも起動しています。
何がおかしいのかが分からないまま7時間以上悩んでいます。
初学者ですが、何か分かる方がいましたらコメントよろしくお願いします。

0

1Answer

MySQLにアクセスは可能とのことですが、MySQLにe_noteのdatabaseが作成されているのは確認できましたか?
もしかしたら、MySQLが起動していてもdatabaseが作成されていないかものしれません

0Like

Your answer might help someone💌