REVOKEpriv_type
[(column_list
)] [,priv_type
[(column_list
)]] ... ON [object_type
]priv_level
FROMuser
[,user
] ... REVOKE ALL PRIVILEGES, GRANT OPTION FROMuser
[,user
] ...
REVOKE
ステートメントは、システム管理者が MySQL
アカウントから権限を削除することを可能にします。各アカウントは、たとえば、'jeffrey'@'localhost'
のように GRANT
ステートメントと同じフォーマットを利用して名づけられます。アカウント名のユーザー名の部分のみを指定した場合は、'%'
のホスト名の部分が使用されます。権限が存在するレベル、許可される
priv_type
値と
priv_level
値、およびユーザーとパスワードを指定するための構文の詳細については、項8.5.1.3. 「GRANT
構文」
を参照してください。
最初の
REVOKE
構文を使用するには、GRANT
OPTION
権限を持っている必要があり、かつ取り消す対象の権限を持っている必要があります。
すべての権限を取り消すには、2 番目の構文を使用します。これにより、指定された (1 人または複数の) ユーザーのすべてのグローバル、データベース、テーブル、カラム、およびルーチン権限が削除されます。
REVOKE ALL PRIVILEGES, GRANT OPTION FROMuser
[,user
] ...
この REVOKE
構文を利用するためには、mysql
データベースにグローバル
CREATE USER
権限か UPDATE
権限を持つ必要があります。
REVOKE
は権限を削除しますが、mysql.user
テーブルエントリは削除しません。ユーザーアカウントを完全に削除するには、DROP
USER
(項8.5.1.2. 「DROP USER
構文」 を参照)
または
DELETE
を使用します。
権限テーブルに、大文字と小文字が混在したデータベースまたはテーブル名を含む権限行が保持されており、lower_case_table_names
システム変数がゼロ以外の値に設定されている場合は、REVOKE
を使用してこれらの権限を取り消すことはできません。供与テーブルを直接コントロールする必要があるかも知れません。(lower_case_table_names
が設定されているときは
GRANT
によってこのような行は作成されませんが、この変数が設定される前にこのような行が作成された可能性があります。)
REVOKE
操作のあとでアカウントの権限を確認するには、SHOW
GRANTS
を使用します。項8.5.5.22. 「SHOW GRANTS
構文」
を参照してください。