MySQLのrootログインで「Access denied for user 'root'@'localhost' (using password: YES)」に遭遇した場合の対処

MySQLのrootログインで「Access denied for user 'root'@'localhost' (using password: YES)」に遭遇した場合の対処

Posted at August 29,2023 11:55 PM
Tag:[MySQL]
  • Hatena ブックマーク
  • del.icio.us
  • livedoor
  • Google Bookmarks
  • Yahoo!ブックマーク
  • POOKMARK Airlines
  • ニフティクリップ
  • Buzzurl
  • newsing it!

MySQLのrootログインで「Access denied for user 'root'@'localhost' (using password: YES)」に遭遇した場合の対処方法を紹介します。

1.問題点

MySQLをインストールし、mysqldサービスを起動し、mysqladminコマンドでrootログインをしようとしたところ、下記のエラーに遭遇しました。

# mysqladmin -u root password -p
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

ちなみにrootの初期パスワードは、

/var/log/mysqld.log

2023-08-26T06:33:00.897137Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: :Vqw<Poh0:gY

の行末に記録されています。

ただ、今回はこのパスワードを設定しても上記のエラーに遭遇しました。

2.対処

手順は下記の通りです。

  1. /etc/my.cnf または /etc/mysql/my.cnf を任意のエディタで開く
  2. "[mysqld]"の下に「skip-grant-tables under」を追加
  3. mysqldを再起動
  4. 「mysql -u root -p」を実行し、パスワードを聞かれても入力せずにリターン(これでログインできる)
  5. プロンプトが「mysql>」になったら「flush privileges;」を入力(権限の反映)
  6. 「ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';」を実行(NewPasswordには新しいパスワードを設定)
  7. quitでmysqlを終了し、再度「mysql -u root -p」を実行。先ほどのパスワードでログインできることを確認
  8. OKであれば、my.cnfに追加した設定「skip-grant-tables under」を削除
  9. mysqldを再起動

3.参考サイト

参考サイトは下記です。ありがとうございました。

MySQL Error: : 'Access denied for user 'root'@'localhost'

関連記事
トラックバックURL


コメントする
コメントするにはまずサインインしてください。
Loading...