Suponha que o seguinte comando foi executado no MySQL 5.5: ...

Próximas questões
Com base no mesmo assunto
Q625013 Banco de Dados
Suponha que o seguinte comando foi executado no MySQL 5.5: “GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'localhost' IDENTIFIED BY 'identificacao' WITH GRANT OPTION;”. Sabendo-se que não existia no momento da execução o usuário ‘usuario’ cadastrado no banco de dados, qual o resultado esperado?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - Um usuário chamado ‘usuario’ será criado e poderá atribuir permissões a outros usuários em qualquer “schema” do banco.

Para compreender a questão, é crucial ter conhecimento sobre os comandos de gerenciamento de usuários e permissões no MySQL. O comando GRANT é utilizado para conceder privilégios a usuários sobre objetos do banco de dados, como tabelas e procedimentos. O símbolo * utilizado no comando indica que os privilégios são concedidos para todas as bases de dados (*.*).

O MySQL permite a criação de um novo usuário e a definição de seus privilégios em uma única operação. Neste caso, o comando utilizado especifica não apenas os privilégios, mas também o usuário a quem eles são concedidos e a senha desse usuário através da cláusula IDENTIFIED BY. Ao executar este comando, se o usuário 'usuario' não existir, ele será criado com a senha definida após o IDENTIFIED BY. Adicionalmente, a frase WITH GRANT OPTION permite que o usuário 'usuario' conceda seus próprios privilégios a outros usuários no sistema.

Logo, o resultado esperado é que o usuário especificado seja criado com todos os privilégios em todos os bancos de dados (*.*) e com a capacidade de transmitir esses privilégios a outros usuários, cumprindo assim a função esperada conforme a alternativa correta C.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

If an account named in a GRANT statement does not exist, the action taken depends on the NO_AUTO_CREATE_USER SQL mode:

If NO_AUTO_CREATE_USER is not enabled, GRANT creates the account. This is very insecure unless you specify a nonempty password using IDENTIFIED BY.

If NO_AUTO_CREATE_USER is enabled, GRANT fails and does not create the account, unless you specify a nonempty password using IDENTIFIED BY or name an authentication plugin using IDENTIFIED WITH.

If the account already exists, IDENTIFIED WITH is prohibited because it is intended only for use when creating new accounts.

 

https://dev.mysql.com/doc/refman/5.7/en/grant.html

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo