ホームページ  >  記事  >  データベース  >  ユーザー \'\'@\'localhost\' がデータベースに対して「アクセスが拒否されました」と表示されるのはなぜですか?

ユーザー \'\'@\'localhost\' がデータベースに対して「アクセスが拒否されました」と表示されるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-02 03:42:02696ブラウズ

Why am I Getting

「アクセスが拒否されました: ユーザー @ 'localhost' のデータベースへの誤ったアクセスを解決します」`

MySQL ユーザーはイライラするエラー メッセージに遭遇することがよくあります。ユーザー ''@'localhost' からデータベース '' へのアクセスが拒否されました。」この問題は、ユーザー権限または構成設定が正しくないことが原因で発生します。これを解決するには、次の手順に従います。

  • ユーザー資格情報の確認:

    • MySQL ユーザーが $dbuser 変数で指定されていることを確認します。存在します。
    • $dbname で指定されたデータベースに対する適切なアクセス権限をユーザーが持っていることを確認してください。
  • ユーザー権限の付与:

    • 次の SQL コマンドを使用して、必要な権限を付与します。
      GRANT ALL PRIVILEGES ON database_name.* TO user_name@host_name;
    • 「database_name」を実際のデータベース名に置き換え、「
    • ローカル マシンからのアクセスを許可するには、"host_name" を "localhost" として指定します。
  • MySQL バインド アドレスの構成:

    • MySQL 構成ファイル (通常は my.cnf という名前) で「bind-address」設定を確認し、すべてのホストからの接続を受け入れるように変更します:
      binding-address = 0.0.0.0
    • 変更を有効にするために MySQL サービスを再起動します。
  • 更新コード:

    • PHP コードを変更して、mysql_connect() 関数にユーザー名とパスワードの両方を含めます:
      mysql_connect($dbhost, $dbuser, $dbpass) または die(mysql_error());
  • リモート アクセスを有効にする (必要な場合):

    • リモート ホストからのアクセスを許可するには、MySQL サーバーがポートでリッスンしていることを確認します。 3306 であり、そのポートでの接続を許可するようにファイアウォール ルールが設定されています。

以上がユーザー \'\'@\'localhost\' がデータベースに対して「アクセスが拒否されました」と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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