Analista de Tecnologia da Informação - Banco de Dados
No shell do MySQL instalado em uma máquina local, para o usuário root conceder ao usuário paulo, que tem senha paulo1234, apenas permissão para executar comandos SELECT nas tabelas do Banco de Dados empresa, utiliza-se a instrução
AGRANT SELECT TO empresa ALL TABLES TO USER paulo@localhost WITH PASSWORD 'paulo1234';
BGRANT SELECT TO empresa.* FOR USER paulo@localhost PASSWORD BY 'paulo1234';
CGRANT SELECT ON empresa.* TO USER paulo@localhost IDENTIFIED BY PASSWORD 'paulo1234';
DGRANT ON empresa.SELECT TO paulo@localhost IDENTIFIED BY 'paulo1234';
EGRANT SELECT ON empresa.* TO paulo@localhost IDENTIFIED BY 'paulo1234';
Revelar gabarito e comentário▾
GabaritoE — GRANT SELECT ON empresa.* TO paulo@localhost IDENTIFIED BY 'paulo1234';
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Comando GRANT no MySQL
Gabarito: letra E. A sintaxe correta no MySQL para conceder privilégios e criar o usuário (se não existir) com senha é: GRANT <privilégios> ON <banco>.<tabela> TO <usuário>@<host> IDENTIFIED BY '<senha>'. A alternativa E reproduz exatamente essa estrutura.
A banca testa o conhecimento da sintaxe do comando GRANT no MySQL, que faz parte da DCL (Data Control Language). A forma padrão para conceder permissões e definir a senha do usuário em um único comando é:
MySQL:
GRANT SELECT ON empresa.* TO paulo@localhost IDENTIFIED BY 'paulo1234';
Observe que empresa.* indica todas as tabelas do banco empresa.
1GRANT [privilégios]
2ON [banco].[tabela]
3TO [usuário]@[host]
4IDENTIFIED BY '[senha]'
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
A sintaxe está completamente errada: a palavra TO aparece após SELECT de forma inadequada, ALL TABLES não é cláusula válida, e WITH PASSWORD não é a forma correta para definir senha no GRANT.
Alternativa B — ❌ Incorreta
Usa FOR USER em vez de TO user@host e PASSWORD BY não existe na sintaxe MySQL.
Alternativa C — ❌ Incorreta
Inclui IDENTIFIED BY PASSWORD, que é usado para fornecer um hash de senha, não a senha em texto claro. Como a questão informa a senha 'paulo1234' (texto claro), o correto é IDENTIFIED BY 'paulo1234'.
Alternativa D — ❌ Incorreta
A ordem dos elementos está trocada: ON empresa.SELECT não é válido. O privilégio (SELECT) deve vir antes de ON.
Alternativa E — ✅ Correta ⟵ GABARITO
Segue exatamente a sintaxe correta: GRANT SELECT ON empresa.* TO paulo@localhost IDENTIFIED BY 'paulo1234';.
PEGA ESSA DICA!
Decore a estrutura básica do GRANT: GRANT [privilégios] ON [banco].[tabela] TO [usuário]@[host] [IDENTIFIED BY 'senha']. O uso de IDENTIFIED BY no GRANT já cria o usuário caso ele não exista, estabelecendo a senha em texto claro. Para usar senha já criptografada, utilizar-se-ia IDENTIFIED BY PASSWORD 'hash'.