Um usuário tentou efetuar login em um servidor de banco de dados MariaDB remoto, via aplicativo cliente mariadb, e obteve a seguinte mensagem de erro: ERROR 1045 (28000): Access denied for user ‘john’@’192.168.100.3’ (using password: YES) É dado que: • O usuário john existe para pelo menos um host no servidor MariaDB; • O usuário john possui a mesma senha para qualquer host ao qual esteja associado; • A senha correta foi utilizada na tentativa de login; • A senha não está expirada. Com base nesse cenário, é correto afirmar que
Ao login remoto do usuário root está desabilitado no servidor MariaDB.
Ba porta TCP utilizada pelo serviço MariaDB está bloqueada pelo firewall do servidor, impedindo o recebimento de conexões via rede.
Co usuário ‘john’@’%’ não existe no servidor MariaDB.
Da senha do usuário john é uma senha forte.
Eo endereço IP do host onde o servidor MariaDB está instalado é 192.168.100.3.
Revelar gabarito e comentário▾
GabaritoC — o usuário ‘john’@’%’ não existe no servidor MariaDB.
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”.
Autenticação no MariaDB: usuário e host
Gabarito: letra C. O erro 1045 (28000) com a mensagem "Access denied for user 'john'@'192.168.100.3'" indica que o MariaDB não encontrou uma conta de usuário que corresponda à combinação de usuário e host de origem da conexão. Como o usuário john existe para pelo menos um host, a senha está correta e não expirada, a causa mais provável é que não exista a conta 'john'@'%' (ou 'john'@'192.168.100.3') no servidor — exatamente o que afirma a alternativa C.
No MariaDB (e no MySQL), a autenticação de um usuário é feita com base em duas informações: o nome do usuário e o host de origem da conexão. A tabela mysql.user armazena essas contas, e cada combinação usuário/host é tratada como uma conta distinta. Quando um cliente tenta se conectar, o servidor verifica se existe uma conta que corresponda ao usuário e ao IP (ou hostname) de onde a conexão está vindo. Se não houver correspondência, o acesso é negado com o erro 1045.
O host pode ser especificado de várias formas: um IP exato (ex.: '192.168.100.3'), um nome de host, um endereço com curinga (ex.: '192.168.100.%') ou o curinga genérico '%', que representa qualquer host. A conta 'john'@'%' é a que permite acesso a partir de qualquer endereço. Se o usuário john existe apenas para um host específico (por exemplo, 'john'@'localhost' ou 'john'@'192.168.100.50'), e a conexão vem de '192.168.100.3', o servidor não encontra uma conta compatível e rejeita o login, mesmo que a senha esteja correta.
A mensagem de erro "using password: YES" apenas informa que o cliente enviou uma senha na tentativa; não indica que a senha está errada. O fato de a senha estar correta e não expirada, combinado com a existência do usuário para algum host, aponta diretamente para o problema de correspondência de host. A alternativa C é a única que explica corretamente o cenário.
NÃO CAIA NESSA!
A banca tenta confundir o candidato com a mensagem de erro, que menciona o IP '192.168.100.3'. Muitos podem pensar que o problema é de rede (firewall) ou que o IP é do servidor. Na verdade, o IP na mensagem é o do cliente que tentou acessar, e o erro de autenticação ocorre porque não há uma conta de usuário configurada para esse host de origem. A pegadinha está em associar o IP à máquina errada e em não perceber que a autenticação no MariaDB depende da combinação usuário + host.
Alternativa A — ❌ Incorreta
A alternativa fala sobre o login remoto do usuário root estar desabilitado. No entanto, o erro menciona o usuário 'john', não o root. Além disso, o MariaDB não "desabilita" o login remoto do root por padrão; o que pode ocorrer é a ausência de uma conta 'root'@'%' ou 'root'@'<ip>'. Mas o cenário da questão é sobre o usuário john, então essa alternativa não se aplica.
Alternativa B — ❌ Incorreta
Se a porta TCP estivesse bloqueada pelo firewall, o cliente nem conseguiria estabelecer a conexão TCP com o servidor. A mensagem de erro 1045 é uma resposta do próprio MariaDB, o que prova que a conexão de rede foi estabelecida com sucesso e o servidor processou a tentativa de autenticação. Portanto, o firewall não é a causa do problema.
Alternativa C — ✅ Correta ⟵ GABARITO
Esta é a explicação correta. O erro 1045 ocorre porque o MariaDB não encontrou uma conta de usuário que corresponda à combinação 'john' + host '192.168.100.3'. Como o usuário john existe para pelo menos um host, mas não para o host de origem da conexão (e nem para o curinga '%'), o acesso é negado. A ausência da conta 'john'@'%' é a causa mais provável, pois essa conta permitiria o acesso de qualquer host.
Alternativa D — ❌ Incorreta
A força da senha não tem relação com o erro 1045. O erro de acesso negado ocorre antes mesmo de verificar a senha, pois o servidor primeiro precisa encontrar uma conta de usuário compatível com o host. Além disso, o enunciado afirma que a senha correta foi utilizada, então a força da senha é irrelevante para o problema.
Alternativa E — ❌ Incorreta
O IP '192.168.100.3' na mensagem de erro é o endereço de origem da conexão, ou seja, o IP do cliente que tentou acessar o servidor. Não é o IP do servidor MariaDB. O servidor é o destino da conexão, e seu IP não aparece na mensagem de erro.