Pular para o conteúdo principal

Questão de Banco de Dados — MySQL — FCC 2016

Banco de DadosMySQL
Código
fc028454
Banca
FCC
Órgão
CREMESP
Ano
2016
Nível
Superior
Cargo
Analista de Tecnologia da Informação - Banco de Dados
O sistema de privilégios do MySQL garante que cada usuário possa fazer exatamente as operações as quais possui permissão. O controle de acesso do MySQL é composto de dois estágios. No estágio
  1. A1 o servidor pede uma senha de acesso e verifica se a senha confere usando a tabela passw_users.
  2. B2 o servidor verifica se o usuário realizou um drop e, em caso positivo, cancela a ação do usuário pois é um comando proibido.
  3. C1 o servidor utiliza apenas as tabelas user e db e no estágio 2 utiliza a tabela host_priv no banco de dados MySQL.
  4. D2, se a solicitação envolver tabelas, o servidor pode consultar adicionalmente as tabelas tables_priv e columns_priv.
  5. E1 o servidor verifica quais privilégios que o usuário possui antes de permitir que ele realize a primeira operação.
Revelar gabarito e comentário

GabaritoD — 2, se a solicitação envolver tabelas, o servidor pode consultar adicionalmente as tabelas tables_priv e columns_priv.

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”.

Controle de Acesso no MySQL: Dois Estágios

Gabarito: letra D. No MySQL, o controle de acesso ocorre em dois estágios: o estágio 1 (autenticação) verifica se o usuário pode se conectar com base nas tabelas user, db e host; o estágio 2 (autorização) verifica, para cada requisição, as permissões específicas, consultando tabelas como tables_priv e columns_priv quando a operação envolve tabelas. A alternativa D descreve corretamente esse segundo estágio.

A banca testa o conhecimento da separação entre autenticação e autorização no MySQL, um tópico clássico de administração de banco de dados.

  1. 1Estágio 1: AutenticaçãoTabelas user, db, host
  2. 2Estágio 2: AutorizaçãoTabelas tables_priv, columns_priv, procs_priv
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que no estágio 1 o servidor pede senha e verifica na tabela passw_users. O estágio 1 realmente verifica credenciais, mas a tabela correta é user (armazenada no banco mysql). Não existe tabela passw_users no MySQL.

Alternativa B — ❌ Incorreta

Diz que no estágio 2 o servidor verifica se o usuário realizou um DROP e cancela a ação. O estágio 2 verifica permissões para qualquer comando (SELECT, INSERT, DROP, etc.), não apenas DROP, e não há cancelamento especial para esse comando. A descrição é incorreta e simplista.

Alternativa C — ❌ Incorreta

Afirma que no estágio 1 são usadas apenas as tabelas user e db, e no estágio 2 a tabela host_priv. No estágio 1, além de user e db, também se consulta a tabela host. Já no estágio 2, as tabelas de privilégios incluem tables_priv, columns_priv, procs_priv, entre outras, e não apenas host_priv. Portanto, a descrição está incompleta e troca o papel das tabelas.

Alternativa D — ✅ Correta ⟵ GABARITO

Afirma que no estágio 2, se a solicitação envolver tabelas, o servidor pode consultar adicionalmente as tabelas tables_priv e columns_priv. De fato, o MySQL verifica privilégios em nível global, banco, tabela e coluna, e essas tabelas armazenam as permissões específicas para tabelas e colunas. A descrição está precisa.

Alternativa E — ❌ Incorreta

Diz que no estágio 1 o servidor verifica quais privilégios o usuário possui antes de permitir a primeira operação. Essa verificação de privilégios (autorização) só ocorre no estágio 2, para cada comando. O estágio 1 limita-se a autenticar a conexão (usuário, senha, host). A alternativa confunde os dois estágios.

Gabarito: letra D.

Link permanente: /questoes/fc028454