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
A1 o servidor pede uma senha de acesso e verifica se a senha confere usando a tabela passw_users.
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.
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.
D2, se a solicitação envolver tabelas, o servidor pode consultar adicionalmente as tabelas tables_priv e columns_priv.
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.
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.