Rechercher dans le manuel MySQL
13.7.1.8 REVOKE Syntax
- priv_type [(column_list)]
- [, priv_type [(column_list)]] ...
- user_or_role: {
- | role
- }
- user:
- (see Section 6.2.4, “Specifying Account Names”)
- role:
- (see Section 6.2.5, “Specifying Role Names”.
The REVOKE
statement enables
system administrators to revoke privileges and roles, which can
be revoked from user accounts and roles.
For information about roles, see Section 6.3.4, “Using Roles”.
When the read_only
system
variable is enabled, REVOKE
requires the CONNECTION_ADMIN
or
SUPER
privilege in addition to
any other required privileges described in the following
discussion.
REVOKE
either succeeds for all
named users and roles or rolls back and has no effect if any
error occurs. The statement is written to the binary log only if
it succeeds for all named users and roles.
Each account name uses the format described in Section 6.2.4, “Specifying Account Names”. Each role name uses the format described in Section 6.2.5, “Specifying Role Names”. For example:
The host name part of the account or role name, if omitted,
defaults to '%'
.
For details on the levels at which privileges exist, the
permissible priv_type
,
priv_level
, and
object_type
values, and the syntax
for specifying users and passwords, see Section 13.7.1.6, “GRANT Syntax”.
To use the first REVOKE
syntax,
you must have the GRANT OPTION
privilege, and you must have the privileges that you are
revoking.
To revoke all privileges, use the second syntax, which drops all global, database, table, column, and routine privileges for the named users or roles:
REVOKE ALL PRIVILEGES, GRANT OPTION
does not
revoke any roles.
To use this REVOKE
syntax, you
must have the global CREATE USER
privilege, or the UPDATE
privilege for the mysql
system database.
The syntax for which the REVOKE
keyword is followed by one or more role names takes a
FROM
clause indicating one or more users or
roles from which to revoke the roles.
Roles named in the
mandatory_roles
system variable
value cannot be revoked.
A revoked role immediately affects any user account from which it was revoked, such that within any current session for the account, its privileges are adjusted for the next statement executed.
Revoking a role revokes the role itself, not the privileges that
it represents. If an account is granted a role that includes a
given privilege, and is also granted the privilege explicitly or
another role that includes the privilege, the account still is
granted that privilege after the first role is revoked. For
example, if an account is granted two roles that each include
SELECT
, the account still can
select after either role is revoked.
REVOKE ALL ON *.*
(at the global level)
revokes all granted static global privileges and all granted
dynamic privileges.
User accounts and roles from which privileges and roles are to be revoked must exist, but the roles to be revoked need not be currently granted to them.
REVOKE
removes privileges, but
does not drop mysql.user
system table
entries. To remove a user account entirely, use
DROP USER
. See
Section 13.7.1.5, “DROP USER Syntax”.
If the grant tables hold privilege rows that contain mixed-case
database or table names and the
lower_case_table_names
system
variable is set to a nonzero value,
REVOKE
cannot be used to revoke
these privileges. It will be necessary to manipulate the grant
tables directly. (GRANT
will not
create such rows when
lower_case_table_names
is set,
but such rows might have been created prior to setting the
variable. The
lower_case_table_names
setting
can only be configured when initializing the server.)
When successfully executed from the mysql
program, REVOKE
responds with
Query OK, 0 rows affected
. To determine what
privileges remain after the operation, use
SHOW GRANTS
. See
Section 13.7.6.21, “SHOW GRANTS Syntax”.
Traduction non disponible
Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-revoke.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.