Pular para o conteúdo principal
Revoga privilégios de usuários ou roles.

Sintaxe

Revogando privilégios de usuários
REVOKE [ON CLUSTER cluster_name] privilege[(column_name [,...])] [,...] ON {db.table|db.*|*.*|table|*} FROM {user | CURRENT_USER} [,...] | ALL | ALL EXCEPT {user | CURRENT_USER} [,...]
Revogar roles de usuários
REVOKE [ON CLUSTER cluster_name] [ADMIN OPTION FOR] role [,...] FROM {user | role | CURRENT_USER} [,...] | ALL | ALL EXCEPT {user_name | role_name | CURRENT_USER} [,...]

Descrição

Para revogar um privilégio, você pode usar um privilégio de escopo mais amplo do que o que pretende revogar. Por exemplo, se um usuário tiver o privilégio SELECT (x,y), o administrador poderá executar a consulta REVOKE SELECT(x,y) ..., ou REVOKE SELECT * ..., ou até mesmo REVOKE ALL PRIVILEGES ... para revogar esse privilégio.

Revogações parciais

Você pode revogar parte de um privilégio. Por exemplo, se um usuário tiver o privilégio SELECT *.*, você pode revogar desse usuário o privilégio de ler dados de alguma tabela ou de um banco de dados.

Exemplos

Conceda à conta de usuário john o privilégio de selecionar dados de todos os bancos de dados, exceto do accounts:
GRANT SELECT ON *.* TO john;
REVOKE SELECT ON accounts.* FROM john;
Conceda à conta de usuário mira o privilégio de selecionar todas as colunas da tabela accounts.staff, exceto a coluna wage.
GRANT SELECT ON accounts.staff TO mira;
REVOKE SELECT(wage) ON accounts.staff FROM mira;
Artigo original
Última modificação em 10 de junho de 2026