環境変数を使ってパスワードを設定してもrailsサーバがうまく起動しない理由を教えてください。
rubyのバージョンは3.0.0、 mysqlのバージョンは5.7、 mysql2のバージョンは0.5.3、
bundlerバージョンは2.2.3、 railsのバージョンは5.0.7.2です。
現在message-boardというアプリを作成中です。
フォルダの形式は以下のようになっております。
message-board_folder
└message-board
└.ruby-version
まず、
$ rails s
というコマンドでrailsを起動しようとしたところ、以下のエラーの画像が表示されました。
Mysql2::Error::ConnectionError
Access denied for user 'root'@localhost'(using password: NO)
というエラーが表示されておるため、
database.yml
に
環境変数を使ったパスワードを追加いたしました。
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password: <%= ENV['DB_PASSWORD'] %>
socket: /tmp/mysql.sock
それからターミナルに以下のコマンドを実行いたしました。
$ export DB_PASSWORD=自分のMySQLバージョン5.7のログインパスワード
$ rails s
上記のコマンド実行結果は以下の画像の通りになりました。
上記の画像のFramework Trace
の項目にある
mysql2 (0.5.3) lib/mysql2/client.rb:90:in `connect'
mysql2 (0.5.3) lib/mysql2/client.rb:90:in `initialize'
activerecord (5.0.7.2) lib/active_record/connection_adapters/mysql2_adapter.rb:25:in `new'
activerecord (5.0.7.2) lib/active_record/connection_adapters/mysql2_adapter.rb:25:in `mysql2_connection'
(...)
puma (3.12.6) lib/puma/thread_pool.rb:135:in `block in spawn_thread'
は
message-board_folder
└message-board
└.ruby-version
のmessage-board
フォルダには存在しなかったため、エラーを解決することができませんでした。
環境変数を使ってパスワードを設定してもrailsサーバがうまく起動しない理由を教えてください。