謎の解明: 「ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)」
エラーの解決メッセージ「ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: YES) - いいえ特権?」 root ユーザーで MySQL データベースに接続しようとすると、この問題が発生する可能性があります。このイライラする問題は、root ユーザーのスキーマ権限が null の場合に発生し、事実上すべてのアクセス権限が取り消されます。
問題の根本原因を追跡する
MySQL Workbench を詳しく調べると、 root ユーザーのスキーマ権限が実際に欠落していることが判明しました。これは、FLUSH HOSTS や FLUSH PRIVILEGES などの標準コマンドで結果が得られない理由を説明しています。
ルート アクセスの再利用: ステップバイステップ ガイド
クエリ「SELECT user、authentication_string、plugin、host FROM mysql.user;」を実行します。認証方法を決定します。 root ユーザーに対して「auth_socket」と表示されている場合は、サーバーへの root アクセスが必要なソケット認証が使用されていることを示します。
パスワードによる接続を許可するには、「localhost」の root ユーザーの authentication_string 値を次のように更新します。 「mysql_native_password」。認証にパスワードが必要です。
コマンド「ALTER USER 'root'@」を使用します。 「localhost」は mysql_native_password BY で識別されました'現在のルートパスワード';" root パスワードを設定します。
必要に応じて、GRANT コマンドを使用して root ユーザーに適切な権限を付与します。
「FLUSH PRIVILEGES;」を実行します。変更が有効であることを確認します。
ユーザー情報クエリを再実行して、root ユーザーが「mysql_native_password」を持っていることを確認します。
これらの手順に従うことで、root アクセスを復元し、許可することができます。 MySQL データベースを完全に制御します。
以上がMySQL エラー「ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)」を解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。