MySQL に接続できません: 権限が拒否されました
PHP を使用して MySQL データベースに接続しようとすると、「権限」を示すエラーが発生する場合があります。拒否されました。"このエラーは、コマンド ライン、またはローカルホストなどの Web サーバー経由でスクリプトにアクセスするときに発生する可能性があります。
具体的には、次のスクリプトを使用してローカルホストからデータベースに接続しようとしたときに発生します:
<code class="php">$host = '155.30.136.20'; $user = 'abc_user'; $pass = 'xxxxxxxxx'; $dbname = 'welcome'; $link = mysqli_connect($host, $user, $pass,$dbname); // Connection checks and error handling omitted for brevity</code>
「エラー: MySQL に接続できません。デバッグ エラー番号: 2002 デバッグ エラー: アクセス許可が拒否されました。」というエラーが表示される場合があります。このエラーは、ユーザーがデータベースへの接続を確立するために必要な権限を持っていないことを示しています。
コマンド ラインとローカルホストの実行との間にこの不一致の理由は、SELinux セキュリティ ポリシーに関連している可能性があります。デフォルトでは、ポリシー httpd_can_network_connect_db が無効になっており、Web サーバーがリモート データベースに接続できません。
この問題を解決するには、次の手順に従います。
これらの変更を加えた後、Web サーバーは次への接続を確立できるようになります。 「許可が拒否されました」エラーが発生することなくデータベースを実行できました。
以上がLocalhost から MySQL に接続すると「アクセス許可が拒否されました」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。