①やりたいこと
MySQLにログインしたい。
Modelを作成し、rails db:migrateを実行した後の出来事でした。(この2つは問題なく実行できました)
②エラー内容
% sudo mysql -u root
Password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ちなみにsudo mysql -u rootと打つとEnter password:と出てくるので、パスワードを打った後に出てきたのがこのエラー文です。
③原因
④解決策
下記の記事を参考にしました。
https://ja.getdocs.org/mysql-error-1-45-28-access-denied-for-user-rootlocalhost-using-password-no/
引用すると >ユーザ ‘root’は、MySQLサーバにログインするためのパスワードが必要です。 ** これを解決するには、MySQLサーバーに接続する際にパスワードに -p
フラグを付けてください。
とのことなのでmysql -u root -pでもう一度実行したら、無事ログインできました。(sudo mysql -u root -pでもできますが、パスワードを2回打つことになるのでsudoはなくてもいいです。)
あとがき:-p(password?)を付けるのと付けないのでは何が違うのか、わかる方いればご教授いただきたいです。
開発環境
mac OS バージョン11.6
Rails 6.1.4.4
Ruby 3.0.3
MYSQL 0.5
エディタ
VScode