MySQL ログイン エラー ERROR 1045 (28000): ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)

エラーメッセージ

エラー 1045 (28000): ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)

エラーの理由

通常、この問題は、MySQL のインストール完了後にデフォルトの root ユーザーが作成され、パスワードがランダムに生成されるため、MySQL の初期インストール後に発生します。表示するには次のコマンドを使用します。

grep 'temporary password' /var/log/mysqld.log

この仮パスワードを使用してログインする場合は、以下の手順 1 と 2 は必要ありません。

解決

  1. データベースを閉じる
systemctl stop mysqld
  1. 着替える登录时跳过权限检查
vim /etc/my.cnf
# 在[mysqld]后添加 skip-grant-tables
  1. サービスを再起動する
systemctl restart mysqld
  1. パスワードを変更する
mysql –uroot –p # 直接回车(Enter)

mysql> use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Passwd@123';
# 若报错:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
# 先执行 flush privileges;
# 再重新执行 ALTER USER...
mysql> quit
  1. 修正効果を確認する
mysql –uroot –pPasswd@123
  1. 変更した場合はmy.cnf、忘れずに元に戻してください。

おすすめ

転載: blog.csdn.net/as23751782/article/details/125405758