ホームページ > データベース > mysql チュートリアル > ローカルホスト上のデータベースに接続すると「アクセスが拒否されました」エラーが発生するのはなぜですか?

ローカルホスト上のデータベースに接続すると「アクセスが拒否されました」エラーが発生するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-04 06:59:02
オリジナル
454 人が閲覧しました

Why am I getting a

データベース接続エラー: Localhost で「アクセス許可が拒否されました」

PHP 経由でデータベースに接続しようとすると、ターミナルで実行すると異なる結果が生じる可能性がありますローカルで実行した場合と比較します。提供されているシナリオでは、「Connect DATABASE Error TYPE: 2002: Permission Deny」というエラーは、Web サーバーにデータベースへのアクセスに必要な権限がないことを示しています。

この問題は、SELinux セキュリティ ポリシーに起因することがよくあります。デフォルトでは、ポリシー「httpd_can_network_connect_db」は無効になっており、Web サーバーがリモート データベースとの接続を確立することが禁止されています。

解決策:

  1. 次の実行による SELinux ステータス:

    getsebool -a | grep httpd
    ログイン後にコピー
  2. 「httpd_can_network_connect_db」が「オフ」に設定されている場合は、次のコマンドで有効にします:

    setsebool -P httpd_can_network_connect_db 1
    ログイン後にコピー
  3. 「-」 P" フラグにより​​、再起動後も設定が保持されます。

SELinux ポリシーが変更されると、Web サーバーはリモート データベースに接続できるようになり、「アクセスが拒否されました」エラーが解決されます。

以上がローカルホスト上のデータベースに接続すると「アクセスが拒否されました」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート