MySQL はユーザーに権限を付与します

このコマンドを使用して、mysql に存在する権限を表示します。

特権を表示します。

ユーザーを認可するには 2 つの方法があります。1 つはユーザーにロールを割り当ててユーザーを認可する (mysql8.0 の機能)、もう 1 つはユーザーを直接認可する方法です。ユーザーはデータベースのユーザーであり、データベース内のリソースにアクセスする権限をユーザーに付与することで、データベースへのユーザーのアクセスを制御し、セキュリティ リスクを排除できます。
権限コマンド: この権限でユーザーが存在しないことが判明した場合、新しいユーザーが直接作成されます。

GRANT 权限1,权限2,…权限n ON 数据库名称.表名称 TO 用户名@用户地址 [IDENTIFIED BY ‘密码口令’];

次に例を示します。
1. ローカル コマンド ラインを使用して、li4 ユーザーに atguigudb ライブラリ内のすべてのテーブルの挿入、削除、変更、およびクエリを実行する権限を与えます。

GRANT SELECT,INSERT,DELETE,UPDATE ON atguigudb.* TO li4@localhost ;

2. ネットワーク経由でログインするユーザー joe に、すべてのライブラリのすべてのテーブルに対する完全な権限を付与し、パスワードを 123 に設定します。付与権限を含む権限を付与する必要がある場合は、パラメータ「WITH GRANT OPTION」を追加するだけです。これは、ユーザーが自分が持つ権限を他のユーザーに承認できることを意味し、grant を使用してユーザーに権限を繰り返し追加できることを意味します。

GRANT ALL PRIVILEGES ON *.* TO joe@'%' IDENTIFIED BY '123' with grant option;

アプリケーションを開発するとき、さまざまなユーザーに応じてデータを水平方向および垂直方向にグループ化する必要が生じることがよくあります。
1. いわゆる水平グループ化は、どのテーブル データが表示できるかなど、ユーザーがアクセスできるデータの範囲を指します。 2. いわゆる垂直グループ化は、ユーザーがデータにアクセスできる範囲を指します
。表示、変更、さらには削除も可能

表示権限

現在のユーザーの権限を表示する

SHOW GRANTS; 或者 SHOW GRANTS FOR CURRENT_USER; 或者 SHOW GRANTS FOR CURRENT_USER();

特定のユーザーの権限を表示する

SHOW GRANTS FOR 'user'@'主机地址' ;

許可の撤回

アクセス許可を取り消すとは、ユーザーに付与されている特定のアクセス許可を取り消すことです。不要なユーザー権限を回復することで、システムのセキュリティをある程度確保できます。

REVOKE ステートメントは、MySQL でユーザーの特定の権限を取り消すために使用されます。REVOKE を使用して権限を取り消した後、ユーザー アカウント レコードは db、host、tables_priv、および columns_priv テーブルから削除されますが、ユーザー アカウント レコードは引き続きユーザー テーブルに保存されます (DROP USER ステートメントを使用して、ユーザー テーブルから削除する前に、対応するユーザーのすべての権限を取り消す必要があります。)

権限を取り消すコマンド (権限の取り消し後に有効にするには、ユーザーは再度ログインする必要があります)

REVOKE 权限1,权限2,…权限n ON 数据库名称.表名称 FROM 用户名@用户地址;

例:
データベース全体とテーブルに対するすべての権限を取り消すには: REVOKE ALL PRIVILEGES ON *.* FROM joe@'%';
mysql データベース内のすべてのテーブルに対する挿入、削除、変更、およびクエリの権限を取り消すには:REVOKE SELECT,INSERT,UPDATE,DELETE ON mysql.* FROM joe@localhost;

おすすめ

転載: blog.csdn.net/qq_43079350/article/details/130654183