ホームページ > データベース > mysql チュートリアル > CREATE テーブル エラーを回避するために、MySQL で包括的なデータベース権限を適切に付与するにはどうすればよいですか?

CREATE テーブル エラーを回避するために、MySQL で包括的なデータベース権限を適切に付与するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-27 10:20:13
オリジナル
588 人が閲覧しました

How to Properly Grant Comprehensive Database Privileges in MySQL to Avoid CREATE Table Errors?

MySQL での包括的なデータベース権限の付与

データベースを作成してユーザー権限を割り当てるときは、ユーザーが次のことを行うための十分な権限を持っていることを確認することが重要です。データベース内で必要な操作を実行します。ただし、一見包括的な権限を付与しているにもかかわらずテーブルを作成できないなどの問題が発生する可能性があります。

問題の説明:

「mydb」という名前のデータベースが作成されており、 「myuser」という名前のユーザーには次の権限が割り当てられています:

GRANT ALL ON mydb.* TO 'myuser'@'%';
GRANT ALL ON mydb TO 'myuser'@'%';
GRANT CREATE ON mydb TO 'myuser'@'%';
ログイン後にコピー

ただし、ユーザーが試行すると、テーブルを作成しようとすると、次のエラー メッセージが表示されます:

CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'
ログイン後にコピー

解決策:

ユーザー 'myuser' に 'mydb' で必要なすべての権限を付与します。データベースと将来のテーブルを削除するには、次のコマンドを実行する必要があります:

GRANT ALL PRIVILEGES
ON mydb.*
TO 'myuser'@'%'
WITH GRANT OPTION;
ログイン後にコピー

このコマンドは、'myuser' にすべての権限を付与します。 「mydb」データベースに対する権限 (テーブルの作成、変更、削除の権限を含む)。 WITH GRANT OPTION 句を使用すると、ユーザーはこれらの権限を他のユーザーに譲渡できます。

重要な注意事項:

このソリューションはアクセスの問題に効果的に対処しますが、考慮することが重要です。 WITH GRANT OPTION 権限を付与することによるセキュリティへの影響。この権限により、ユーザーは他のユーザーの権限を変更できます。セキュリティ上の理由から、特定のタスクに必要なデータベース権限のみを持つ専用のユーザー アカウントを使用することをお勧めします。

以上がCREATE テーブル エラーを回避するために、MySQL で包括的なデータベース権限を適切に付与するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート