権限を付与した後、ユーザーの権限を取り消すことができます。
前提条件
現在のユーザーは、取り消す権限を持っている必要があります(例えば、
test1がtest2に対してテーブルt1のSELECT権限を取り消す場合、test1はテーブルt1のSELECT権限を持っていなければなりません)。また、GRANT OPTION権限も保有している必要があります。ALL PRIVILEGESおよびGRANT OPTION権限を取り消す場合、現在のユーザーはグローバルGRANT OPTION権限、または権限テーブルに対するUPDATEおよびDELETE権限を持っている必要があります。
注意事項
あるユーザーから複数の権限を同時に取り消す場合、権限タイプは英語のカンマ(,)で区切ります。
複数のユーザーから同時に権限を取り消す場合、ユーザー名は英語のカンマ(,)で区切ります。
取り消し操作はカスケードされません。例えば、ユーザー
test1がtest2に特定の権限を付与した場合、test1の権限を取り消してもtest2の対応する権限は同時に取り消されません。
操作例
グローバル権限の取り消し
ユーザー
testがすべてのデータベース内のすべてのテーブルに対するINSERTおよびSELECT権限を取り消します。obclient> REVOKE SELECT, INSERT ON *.* FROM 'test';データベースレベルの権限の取り消し
ユーザー
testがデータベースdb1のすべてのテーブルに対するINSERTおよびSELECT権限を取り消します。obclient> REVOKE SELECT, INSERT ON db1 FROM 'test';テーブルレベルの権限の取り消し
ユーザー
testがデータベースdb1のテーブルtb1_nameに対するINSERTおよびSELECT権限を取り消します。obclient> REVOKE SELECT, INSERT ON db1.tb1_name FROM 'test';テーブル内の列権限の取り消し
ユーザー
testがデータベースdb1のテーブルtb1_nameのc1列に対するSELECT権限、およびc1とc2列に対するINSERT権限を取り消します。obclient> REVOKE SELECT(c1), INSERT (c1, c2) ON db1.tb1_name FROM test;
その他のREVOKEステートメントの詳細については、REVOKEを参照してください。