ホームページ >データベース >mysql チュートリアル >MySQL アクセスが拒否されました:「ユーザー ''@'localhost' のアクセスが拒否されました」エラーのトラブルシューティングと解決方法

MySQL アクセスが拒否されました:「ユーザー ''@'localhost' のアクセスが拒否されました」エラーのトラブルシューティングと解決方法

Susan Sarandon
Susan Sarandonオリジナル
2024-12-04 15:40:11497ブラウズ

MySQL Access Denied: How to Troubleshoot and Resolve the

MySQL アクセス拒否エラー: トラブルシューティングと解決策

MySQL クエリを実行しようとすると、「エラー 1044 (42000):」が発生する場合があります。ユーザー「''@'localhost' のデータベース 'db' へのアクセスが拒否されました」 メッセージ。このエラーは、現在のユーザーが要求されたデータベースにアクセスするための権限が不十分であることを示します。

エラーについて

エラー メッセージ「アクセスが拒否されました」は、ユーザーが実行を試みていることを示しています。クエリには、データベースに接続したり、目的の操作を実行したりするために必要な権限がありません。この特定のケースでは、データベースへの接続を確立しようとしているユーザーは、ローカルホストから空の文字列 ('') として識別されます。

根本原因の特定

エラーのトラブルシューティングを行うには、ユーザー アカウントの設定と権限を調べることが重要です。 「show Grants」コマンドを使用すると、現在のユーザーに付与された権限を表示できます。提供された例では、次の付与が表示されます。

GRANT USAGE ON *.* TO ''@'localhost'

この出力は、localhost の空の文字列ユーザーにすべてのデータベースに対する USAGE 権限が付与されていることを示します。これにより、ユーザーは MySQL に接続できますが、データベースやテーブルを作成または操作する権限は付与されません。

問題の解決

エラーを解決するには、必要な権限を目的のユーザーに付与できます。ただし、現在ユーザー ID がないため、ユーザー ID を作成する必要があります。ただし、CREATE USER 操作を実行するには、必要な権限を持つユーザー アカウントを作成する必要があります。

ルート アカウントの使用

必要な権限があることを確認するには権限を持っている場合は、root アカウントを使用して MySQL への接続を試みることができます。示されている例では、root として接続しようとする最初の試みは失敗しました。 root としてサインインするには、MySQL コマンド ライン内ではなく、Bash シェルで次のコマンドを実行する必要があります。

mysql -u root -p

プロンプトが表示されたら、root パスワードを入力します。 root としてサインインしたら、必要な権限を持つ新しいユーザーの作成に進むことができます。

以上がMySQL アクセスが拒否されました:「ユーザー ''@'localhost' のアクセスが拒否されました」エラーのトラブルシューティングと解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。