MySQL: 「ユーザーのアクセスが拒否されました」エラーの解決
新しい MySQL ユーザーを作成して権限を付与しているときに、次のエラーが発生する場合があります「ユーザーのアクセスが拒否されました。」この問題は、ユーザーが適切な権限を持っていない場合、または許可されていない場所からデータベースに接続しようとしている場合に発生します。
このエラーのトラブルシューティングを行うには、まず Grant ステートメントを確認します。正しいユーザー名を指定していること、およびユーザーがアクセスする必要がある特定のデータベースおよびテーブルに対する権限を付与していることを確認してください。たとえば、「GRANT ALL ON .」を使用する代わりに、次のような特定のテーブルまたはスキーマに対して必要な権限のみを付与できます。
GRANT SELECT, INSERT, UPDATE, DELETE ON servname_shbusers.* TO 'servname_shb'@'localhost';
さらに、ユーザーは許可されたホストからデータベースに接続しようとしています。デフォルトでは、MySQL はユーザーのアクセスをローカルホストに制限します。ユーザーが別のホスト名または IP アドレスから接続しようとしている場合は、以下に示すように、そのホストに対する権限を明示的に付与する必要があります。
GRANT ALL ON *.* TO 'servname_shb'@'remote-host';
付与ステートメントを修正して接続を確認したら、ホストの場合は、次のコマンドを使用して権限をフラッシュしてください。
FLUSH PRIVILEGES;
これにより、新しい権限がすぐに有効になります。
エラーが解決しない場合は、ユーザーのパスワードの有効期限が切れているかどうかを確認してください。次のステートメントを使用してパスワードをリセットできます:
ALTER USER 'servname_shb'@'localhost' IDENTIFIED BY 'new_password';
MySQL 権限を処理するときは、潜在的なセキュリティ リスクを制限するために必要な権限のみを付与することが重要であることに注意してください。
以上がMySQL で「ユーザーのアクセスが拒否されました」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。