プログラミング初心者です。
どなたかご存知でしたら教えていただきたいです。
データベースを作るためにrails db:createを実行すると、以下のようなエラーメッセージが返ってきました。
Access denied for user 'root'@'localhost' (using password: NO) Couldn't create 'my_portfolio_development' database. Please check your configuration. rails aborted! ActiveRecord::ConnectionNotEstablished: Access denied for user 'root'@'localhost' (using password: NO) /Users/●●●●/project/my-portfolio/bin/rails:5:in `<top (required)>' /Users/●●●●/project/my-portfolio/bin/spring:10:in `block in <top (required)>' /Users/●●●●/project/my-portfolio/bin/spring:7:in `tap' /Users/●●●●/project/my-portfolio/bin/spring:7:in `<top (required)>' Caused by: Mysql2::Error::ConnectionError: Access denied for user 'root'@'localhost' (using password: NO) /Users/●●●●/project/my-portfolio/bin/rails:5:in `<top (required)>' /Users/●●●●/project/my-portfolio/bin/spring:10:in `block in <top (required)>' /Users/●●●●/project/my-portfolio/bin/spring:7:in `tap' /Users/●●●●/project/my-portfolio/bin/spring:7:in `<top (required)>' Tasks: TOP => db:create (See full trace by running task with —trace)
調べたところ上記エラーは、
「MySQLに設定しているパスワードと自分のアプリケーションのdatabase.ymlで設定したパスワードが不一致の場合に起きる」ということがわかりました。
解決するには以下が必要という記事を見つけたため、まずは①から試そうと思いました。
① MySQLにパスワードを設定しているかを確認する。
② database.ymlでパスワードを設定しているか確認する。
③ MySQLのパスワードとdatabase.ymlのパスワードが一致するように、どっちか、あるいは両方を修正する。
そこで、下記コマンドを実行しました。
$ mysql_secure_installation
すると、以下のようなメッセージが返ってきました。
Securing the MySQL server deployment. Enter password for user root:●●●(←ここで、現在のパスワードを入力しました) VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin? Press y|Y for Yes, any other key for No: y(←ここで、yを入力しました) There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG
上記のとおり、LOWとMEDIUMとSTRONGから選べるということで、パスワードは強力なほうがいいと思い、「2(STRONG)」を選択しました。
しかし、このあと新しいパスワードに変更しようとしても上手くいきませんでした。以下の通り、「パスワードの文字列をもっと複雑にしてください」的な内容が返ってくるばかりでした。
Estimated strength of the password: 50 Change the password for root ? ((Press y|Y for Yes, any other key for No) : y New password:●●●● Re-enter new password:●●●● Estimated strength of the password: 50 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y ... Failed! Error: Your password does not satisfy the current policy requirements
そこで、いっそのことパスワードのチェックを無効化してしまおうと考えました。
あるコマンドを実行するだけで完了するようだったので、実行したいのですが、
そもそもDo you wish to continue with the password provided?(Press y|Y for Yes, any other key for No)に対して「y」以外を入力しているにもかかわらず、ループにハマってしまって抜け出せません。
※y以外を入力しても、New passwordを求められてしまう↓
New password: Re-enter new password: Estimated strength of the password: 0 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : n New password: Re-enter new password: Estimated strength of the password: 0 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : n New password:
どうすればこのループから抜け出し、コマンドが打てる状態に戻せるのでしょうか。
どなたか、ご教示いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/22 15:19