Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 20.9Mb
PDF (A4) - 21.0Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


13.7.1.6 REVOKE 構文

REVOKE
    priv_type [(column_list)]
      [, priv_type [(column_list)]] ...
    ON [object_type] priv_level
    FROM user [, user] ...

REVOKE ALL PRIVILEGES, GRANT OPTION
    FROM user [, user] ...

REVOKE PROXY ON user
    FROM user [, user] ...

REVOKE ステートメントを使用すると、システム管理者は MySQL アカウントから権限を取り消すことができます。各アカウント名には、セクション6.2.3「アカウント名の指定」で説明されている形式が使用されます。例:

REVOKE INSERT ON *.* FROM 'jeffrey'@'localhost';

アカウント名のユーザー名の部分のみを指定した場合は、'%' のホスト名の部分が使用されます。

各権限が存在するレベル、priv_typepriv_level の許可される値、およびユーザーとパスワードを指定するための構文の詳細は、セクション13.7.1.4「GRANT 構文」を参照してください。

最初の REVOKE 構文を使用するには、GRANT OPTION 権限が必要であり、かつ取り消そうとしている権限を持っている必要があります。

すべての権限を取り消すには、2 番目の構文を使用します。これにより、指定された 1 人または複数のユーザーのすべてのグローバル、データベース、テーブル、カラム、およびルーチン権限が削除されます。

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...

この REVOKE 構文を使用するには、mysql データベースに対するグローバルな CREATE USER 権限または UPDATE 権限が必要です。

REVOKE は権限を削除しますが、mysql.user テーブルエントリは削除しません。ユーザーアカウントを完全に削除するには、DROP USER (セクション13.7.1.3「DROP USER 構文」を参照してください) または DELETE を使用します。

付与テーブルに、大文字と小文字が混在したデータベースまたはテーブル名を含む権限行が保持されており、かつ lower_case_table_names システム変数が 0 以外の値に設定されている場合は、REVOKE を使用してこれらの権限を取り消すことはできません。付与テーブルを直接操作することが必要になります。(lower_case_table_names が設定されているとき、GRANT はこのような行を作成しませんが、その変数が設定される前にこのような行が作成されていた可能性があります。)

mysql プログラムから正常に実行された場合、REVOKEQuery OK, 0 rows affected で応答します。この操作によってどのような権限が付与されたかを判定するには、SHOW GRANTS を使用します。セクション13.7.5.22「SHOW GRANTS 構文」を参照してください。