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

MySQL に root 権限を付与すると「アクセスが拒否されました」と表示されるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-30 07:00:10928ブラウズ

Why Am I Getting

root として権限を付与する際の「アクセスが拒否されました」エラーのトラブルシューティング

「ユーザー 'root'@'localhost' のアクセスが拒否されました」というエラーが発生する(パスワードを使用: YES)」という権限を付与する場合、特に確認した場合はイライラすることがあります。正しいパスワードを使用し、十分な権限を持っている必要があります。この問題は、mysql.users テーブルなどの重要なシステム テーブルに権限を付与しようとするとよく発生します。

問題の根本:

MySQL のセキュリティ アーキテクチャが予約したものです。 mysql.users テーブルなどの特定のテーブルは、ルートレベルのユーザーによる排他的アクセス用です。これらのテーブルに対する権限を非 root ユーザーに付与することは、セキュリティ対策として禁止されています。

解決策:

アクセス拒否エラーを回避しながら権限を正常に付与するには、次のように変更します。 mysql.users テーブルを除外するための Grant ステートメント。 . の代わりに %.* を使用して、他のすべてのデータベース オブジェクトに権限を付与します。

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

mysql.users テーブルを除外することで、セキュリティ制限が尊重され、付与操作が許可されます。正常に完了します。

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

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