ホームページ  >  記事  >  バックエンド開発  >  PHP 警告: mysql_query(): ユーザー ソリューションに対するアクセスが拒否されました

PHP 警告: mysql_query(): ユーザー ソリューションに対するアクセスが拒否されました

WBOY
WBOYオリジナル
2023-06-22 08:55:391038ブラウズ

PHP 警告の解決策: mysql_query(): ユーザーのアクセスが拒否されました

PHP を使用して MySQL データベースに接続すると、次のエラー メッセージが表示されることがあります:

PHP 警告: mysql_query ( ): ユーザー 'xxx'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)

これは、PHP が MySQL データベースに接続するために使用するユーザー名またはパスワードが間違っているためです。この記事では、この問題を解決する方法を説明します。

解決策

1. MySQL のユーザー名とパスワードが正しいかどうかを確認する

まず、使用している MySQL のユーザー名とパスワードが正しいことを確認してください。 MySQL コマンド ラインを使用して、ユーザー名とパスワードが正しいことを確認できます。

$ mysql -u your_username -p

たとえば、ユーザー名が「root」の場合は、次のように入力します。次のコマンド:

$ mysql -u root -p

次に、パスワードの入力を求められます。パスワードを入力した後、MySQL サーバーに正常にログインできた場合は、ユーザー名とパスワードが正しいことを意味します。それ以外の場合は、ユーザー名とパスワードを正しく入力していることを確認してください。

2. MySQL のアクセス権限を確認する

ユーザー名とパスワードが正しいにもかかわらず、アクセス拒否エラーが発生する場合は、MySQL サーバーに正しい権限が設定されていないことが原因である可能性があります。 MySQL では、十分な権限を持つユーザーのみが特定のデータベースとテーブルにアクセスできます。

次のコマンドを使用して、MySQL ユーザーのアクセス権を確認できます:

$ SHOW GRANTS FOR user@localhost;

user@localhost は MySQL ユーザーを識別します。確認したいホストと接続先のホスト。たとえば、ユーザー名が「root」の場合、次のコマンドを入力します:

$ SHOW GRANTS FOR root@localhost;

MySQL ユーザーが特定のホストへのアクセス権を持っていない場合は、データベースまたはテーブルの権限がある場合は、次のコマンドを使用してユーザーを承認してください:

$ GRANT ALL PRIVILEGES ON database_name.* TO 'user_name'@'localhost' IDENTIFIED BY 'password';

where Database_name はアクセスを許可するデータベースの名前を指定します。user_name は許可する MySQL ユーザー名を指定し、password はユーザーのパスワードを指定します。たとえば、root ユーザーに mydb データベースへのアクセスを許可する場合は、次のコマンドを入力します。

$ GRANT ALL PRIVILEGES ON mydb.* TO 'root'@'localhost' IDENTIFIED BY 'your_password';

認証が完了したら、MySQL に再接続して PHP スクリプトを実行してください。

3. MySQL ログを確認する

最後に、上記の解決策を試しても問題が解決できない場合は、MySQL エラー ログ ファイルを確認することをお勧めします。ログ ファイルは通常、MySQL サーバーの /var/log ディレクトリにあります (Windows では、C:/ProgramData/MySQL/MySQL Server X.X/ または C:/Program Files/MySQL/MySQL Server X.X/ になります)。 。

エラー ログ ファイルを開いてその中のエラー メッセージを調べ、問題の根本原因を特定するのに役立つ詳細情報を見つけます。

結論

この記事では、PHP 警告: mysql_query(): ユーザー ‘xxx’@‘localhost’ のアクセスが拒否されました エラーを解決する方法を紹介しました。データベースへのアクセスが依然として制限されている場合は、常にログ ファイルをチェックして、問題に関する詳細情報を確認してください。

以上がPHP 警告: mysql_query(): ユーザー ソリューションに対するアクセスが拒否されましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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