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

MySQL 権限を付与するときに「アクセスが拒否されました」エラーが発生するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-03 18:52:09384ブラウズ

Why Am I Getting an

権限を付与しようとしている間、'root'@'localhost' のアクセスが拒否されました

root ユーザーとして権限を付与しようとすると、必要な権限があるにもかかわらず、アクセス拒否エラーが発生する場合があります。このエラーは、mysql.users テーブルに権限を付与しようとした場合に発生する可能性があります。

問題について

mysql.users テーブルには、権限を含むユーザー情報が保存されます。デフォルトでは、root ユーザーのみがこのテーブルを変更できます。このテーブルに対する権限を他のユーザーに付与しようとすると、アクセス拒否エラーが発生する可能性があります。

解決策

この問題を解決するには、以下を除くすべてのデータベースとテーブルに権限を付与します。 mysql.users テーブル。次の構文を使用します:

GRANT ALL PRIVILEGES ON `%`.* TO '[user]'@'[hostname]' IDENTIFIED BY '[password]' WITH GRANT OPTION;

この構文では、次のように置き換えます:

  • %.*: mysql.users を除くすべてのデータベースとテーブルを表します
  • [user ]: 権限を付与するユーザー名
  • [ホスト名]:ユーザーが接続できるホスト名または IP アドレス
  • [パスワード]: ユーザーのパスワード

追加情報

  • セキュリティ上の理由から、すべての権限を持つ root ユーザーの使用は避けてください。
  • 別のユーザーを作成することを検討してください。他のユーザーにアクセスを許可する権限は制限されています。
  • 権限を付与するユーザーが正しいホスト名とパスワードを持っていることを確認してください。

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

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