MySQL - ユーザーのアクセスが拒否されました
必要な権限を持つ新しいユーザーを作成したにもかかわらず、次の場合に「アクセスが拒否されました」エラーが発生する場合があります。データベースに接続しようとしています。この問題は、不正な Grant ステートメントが原因で発生します。
エラー メッセージは、ユーザー 'servname_shb'@'localhost' がデータベースにアクセスできないことを示しています。これを修正するには、次の許可ステートメントを使用します。
<code class="sql">GRANT ALL ON *.* TO 'servname_shb'@'localhost';</code>
これにより、指定されたユーザーにローカル ホスト上のすべてのデータベースとテーブルへのフル アクセスが許可されます。あるいは、grant ステートメントで特定のデータベースまたはテーブルを指定して、必要なコンポーネントのみへのアクセスを制限することもできます。
たとえば、「servname_shbusers」データベースのみへのアクセスを許可するには、次のようにします。
<code class="sql">GRANT ALL ON servname_shbusers TO 'servname_shb'@'localhost';</code>
データベースの安全性をさらに高めるために、ユーザーのアクセスを必要な権限のみに制限することをお勧めします。特定の権限で GRANT ステートメントを使用すると、データの作成、変更、削除などの特定のアクションを実行するユーザーの能力を制限できます。
以上が特権を持つ新しいユーザーを作成したにもかかわらず、MySQL に接続すると「アクセスが拒否されました」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。