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

リモート接続時に「MySQL アクセスが拒否されました」エラーが発生するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-10 17:43:18362ブラウズ

Why Am I Getting a

リモート MySQL 接続エラー: アクセス拒否の問題の解決

多くのユーザーがイライラするエラー「エラー 1045 (28000): ユーザーのアクセスが拒否されました」に遭遇します「MySQL にリモートでアクセスしようとすると。このエラーにより、認証制限によりリモート マシンがデータベースに接続できなくなります。この問題を詳しく調べるために、特定のシナリオを検討してみましょう。

この場合、ユーザーはローカル マシン (192.168.233.142) で MySQL サーバーを実行しており、別のマシンからのリモート接続を確立するのが困難です。 (192.168.233.163)。 MySQL ポートはローカル マシンで開いていることが確認されていますが、リモート接続を試行すると前述のエラーが発生します。

中心的な問題は MySQL ユーザー テーブルにあり、このテーブルには root ユーザー用のエントリが 2 つだけ含まれています。ローカルホストからのローカルアクセスを許可するものと、任意の IP アドレスからのアクセスを許可するもの (%)。これを解決するには、ユーザーはリモート マシンの特定の IP エントリを mysql.user テーブルに追加する必要があります。これにより、その特定のマシンに明示的な承認が付与されます。

しかし、IP エントリを追加してマシンを再起動した後でも、エラーは継続します。解決策は、目的のリモート ユーザーの IP アドレス、ユーザー名、およびパスワードを指定して、root として GRANT ステートメントを実行することです。これにより、必要な権限が付与され、リモート マシンにデータベースへのアクセスに必要な権限があることが保証されます。

「GRANT ALL PRIVILEGES ON . TO 'USERNAME'@'IP'」を使用して権限を付与します。 IDENTIFIED BY 'PASSWORD' with Grant Option」ステートメントを使用すると、リモート ユーザーはすべてのデータベース操作を実行し、それらの権限を他のユーザーに渡すことができます。 「FLUSH PRIVILEGES」ステートメントを実行するか、MySQL サーバーを再起動すると、プロセスが完了し、リモート アクセスが有効になります。

これらの手順に従い、それに応じてユーザー テーブルと権限を調整することで、ユーザーはリモート接続を正常に確立できるようになります。 MySQL データベース。

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

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