- 1 1. Introdução
- 2 2. Como Verificar a Lista de Usuários no MariaDB
- 3 3. Gerenciamento Detalhado de Usuários do MariaDB
- 4 4. Considerações Chave para Gerenciamento de Usuários no MariaDB
- 5 5. FAQ (Perguntas Frequentes)
- 5.1 Q1: Como conceder privilégios apenas a um usuário específico?
- 5.2 Q2: Quais são as causas e correções quando a lista de usuários não aparece?
- 5.3 Q3: O que fazer se o usuário root estiver bloqueado?
- 5.4 Q4: Recebi um erro ao excluir um usuário. O que devo fazer?
- 5.5 Q5: Como posso salvar a saída do SHOW GRANTS?
- 5.6 Resumo
1. Introdução
MariaDB é um dos sistemas de gerenciamento de banco de dados mais amplamente usados hoje, conhecido por sua facilidade de uso e alto desempenho. Entre seus muitos recursos, o gerenciamento de usuários desempenha um papel crítico. Ao gerenciar usuários adequadamente, você pode garantir a segurança do banco de dados e alcançar operações eficientes.
Este artigo foca em como verificar a lista de usuários no MariaDB. Especificamente, explicaremos como recuperar uma lista de usuários usando comandos SQL, as diferenças e vantagens de cada método, bem como as configurações de privilégios relacionadas e considerações importantes.
Este guia foi escrito para ser útil não apenas para iniciantes no MariaDB, mas também para aqueles que atualmente gerenciam ambientes de produção. Certifique‑se de ler até o final.
2. Como Verificar a Lista de Usuários no MariaDB
Existem várias maneiras de verificar a lista de usuários no MariaDB. Cada método tem suas próprias características, e escolher o adequado com base no seu objetivo permite um gerenciamento de usuários eficiente. A seguir, explicamos três métodos representativos em detalhe.
2.1 Usando a Tabela mysql.user
A forma mais básica de verificar informações de usuário no MariaDB é referenciar diretamente a tabela mysql.user. Essa tabela armazena todas as informações de contas de usuário.
Comando de Exemplo
Você pode visualizar a lista de usuários executando o seguinte SQL:
SELECT Host, User FROM mysql.user;
Explicação
- Host : Representa o nome do host a partir do qual o usuário tem permissão para conectar.
- User : O nome de usuário registrado no MariaDB.
Cenários de Uso
- Quando você deseja visualizar todos os usuários em uma lista.
- Quando você deseja verificar quais usuários podem conectar a partir de um host específico.
Observações Importantes
- É necessário ter privilégios suficientes (tipicamente privilégios de
root) para referenciar a tabelamysql.user. - Em algumas versões, o uso direto de
mysql.userpode não ser recomendado. Sempre verifique a documentação oficial para sua versão.
2.2 Usando o Comando SHOW GRANTS
Você pode usar o comando SHOW GRANTS para verificar os privilégios concedidos a um usuário específico.
Comando de Exemplo
Especifique o usuário como mostrado abaixo para exibir seus privilégios:
SHOW GRANTS FOR 'username'@'hostname';
Explicação
- Você pode revisar privilégios detalhados para cada usuário.
- Exemplo de saída:
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost';
Cenários de Uso
- Quando você deseja verificar se as configurações de privilégios de um usuário estão corretas.
- Ao solucionar problemas causados por configuração incorreta de privilégios.
Observações Importantes
- Se você não possuir privilégios suficientes, não será capaz de executar este comando.
2.3 Usando information_schema.USER_PRIVILEGES
O MariaDB inclui um banco de dados de sistema chamado information_schema. Ao consultar a tabela USER_PRIVILEGES dentro dele, você pode exibir informações de privilégios para todos os usuários.
Comando de Exemplo
SELECT * FROM information_schema.USER_PRIVILEGES;
Explicação
- Este método permite revisar privilégios globais para cada usuário.
- A saída inclui informações como:
- GRANTEE : Nome de usuário e host.
- PRIVILEGE_TYPE : Tipo de privilégio concedido.
- IS_GRANTABLE : Se o privilégio pode ser concedido a outros.
Cenários de Uso
- Quando você deseja revisar privilégios para vários usuários de uma só vez.
- Ao auditar configurações de privilégios globais.
Observações Importantes
- Alguns privilégios podem não estar totalmente visíveis nesta tabela.
Resumo
Ao utilizar adequadamente esses métodos, você pode gerenciar efetivamente contas de usuário e informações de privilégios no MariaDB. Cada abordagem tem seus pontos fortes, portanto selecionar a correta com base no seu objetivo específico é essencial.

3. Gerenciamento Detalhado de Usuários do MariaDB
O MariaDB permite que você revise informações detalhadas de usuários e gerencie privilégios de forma eficiente. Nesta seção, explicamos as operações essenciais necessárias para um gerenciamento adequado de usuários.
3.1 Verificando Informações do Usuário
No MariaDB, você pode usar o comando SHOW CREATE USER para verificar informações detalhadas sobre um usuário específico. Este comando reproduz a instrução usada quando o usuário foi criado.
Exemplo de Comando
Execute o seguinte SQL para exibir informações detalhadas sobre o usuário especificado:
SHOW CREATE USER 'username'@'hostname';
Explicação
Este comando é usado para verificar o método de autenticação do usuário e outros atributos. Saída de exemplo:
CREATE USER 'user1'@'localhost' IDENTIFIED VIA mysql_native_password USING '***';
Cenários de Uso
- Quando você deseja confirmar o método de autenticação de um usuário.
- Quando revisando atributos de usuário para possíveis problemas.
Notas Importantes
- Privilégios adequados são necessários para executar este comando (tipicamente privilégios de
root).
3.2 Configurando e Modificando Privilégios de Usuário
O MariaDB permite configuração flexível de privilégios para cada usuário. Você pode usar os comandos GRANT e REVOKE para gerenciar privilégios.
Concedendo Privilégios
O seguinte SQL concede privilégios específicos a um usuário designado:
GRANT SELECT, INSERT ON database_name.* TO 'username'@'hostname';
Revogando Privilégios
Para remover privilégios desnecessários, use o comando REVOKE:
REVOKE INSERT ON database_name.* FROM 'username'@'hostname';
Explicação
- O comando
GRANTatribui privilégios de operação para bancos de dados ou tabelas específicas. - O comando
REVOKEremove privilégios que não são mais necessários.
Cenários de Uso
- Quando configurando privilégios para um novo usuário.
- Quando removendo privilégios desnecessários para aprimorar a segurança.
Notas Importantes
- Configuração incorreta de privilégios pode aumentar os riscos de segurança, então opere com cuidado.
3.3 Deletando um Usuário
Remover usuários desnecessários aprimora a segurança do banco de dados. Use o comando DROP USER para deletar um usuário.
Exemplo de Comando
Execute o seguinte SQL para deletar um usuário especificado:
DROP USER 'username'@'hostname';
Explicação
- Quando um usuário é deletado, todos os privilégios concedidos a esse usuário são removidos simultaneamente.
- Se bem-sucedido, o MariaDB exibe uma mensagem “Query OK”.
Cenários de Uso
- Quando removendo permanentemente um usuário desnecessário do banco de dados.
- Quando limpando contas não utilizadas para fins de segurança.
Notas Importantes
- Se o usuário estiver atualmente conectado, erros indesejados podem ocorrer.
- A deleção de usuário não pode ser desfeita, então confirme cuidadosamente antes de executar.
Resumo
Gerenciamento adequado de usuários no MariaDB é essencial para melhorar tanto a segurança quanto a eficiência operacional. Ao revisar informações de usuário, configurar e modificar privilégios, e deletar usuários desnecessários, você pode manter um ambiente de banco de dados seguro e eficiente.

4. Considerações Chave para Gerenciamento de Usuários no MariaDB
Para gerenciar usuários do MariaDB adequadamente, você precisa prestar atenção a vários pontos importantes. Esta seção explica como lidar com privilégios insuficientes, considerações de segurança chave e diferenças entre versões.
4.1 Como Lidar com Privilégios Insuficientes
Verificar a lista de usuários ou privilégios no MariaDB requer permissões suficientes. Se uma operação falhar devido a privilégios insuficientes, você pode tentar as seguintes abordagens.
Exemplo de Erro
Você pode ver um erro como o seguinte:
ERROR 1045 (28000): Access denied for user 'user1'@'localhost'
Como Corrigir
- Confirme que você está logado como o usuário correto
- Se privilégios necessários (por exemplo, o privilégio
SELECT) estiverem ausentes, você pode não ser capaz de consultar a tabelamysql.user. - Como solução alternativa, tente fazer login como o usuário root e repita a operação.
- Faça login como o usuário root
- Fazer login como root permite a maioria das operações administrativas:
bash mysql -u root -p
- Reconfigure privilégios
- Conceda os privilégios necessários se preciso:
sql GRANT ALL PRIVILEGES ON *.* TO 'username'@'hostname'; FLUSH PRIVILEGES;
Notas Importantes
- Evite conceder mais privilégios do que o necessário. Privilégios excessivos aumentam o risco de segurança.
4.2 Melhores Práticas de Segurança
A segurança deve ser a principal prioridade na gestão de usuários do MariaDB. Abaixo estão os pontos‑chave a serem lembrados.
Remover Usuários Não Utilizados
- Deixar contas de usuário não utilizadas pode torná‑las alvos potenciais de atacantes.
- Revise regularmente os usuários e remova contas desnecessárias:
DROP USER 'username'@'hostname';
Usar uma Política de Senha Forte
- Ao criar usuários, defina senhas difíceis de adivinhar:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'StrongPassword123!';
Restringir Acesso Externo
- Limite quais hosts podem se conectar para evitar acesso externo desnecessário:
CREATE USER 'user1'@'192.168.0.1' IDENTIFIED BY 'password';
Monitorar Logs
- Revise regularmente os logs do MariaDB (por exemplo,
general_logeerror_log) para detectar acessos suspeitos.
4.3 Diferenças Entre Versões do MariaDB
O comportamento do MariaDB e as práticas recomendadas podem variar conforme a versão, portanto ajuste sua abordagem de acordo.
Descontinuação do Acesso Direto ao mysql.user
- Em versões mais recentes, consultar diretamente a tabela
mysql.userpode ser desencorajado. Nesse caso, useSHOW GRANTSouinformation_schema.
Plugins de Autenticação
- Dependendo da versão, o plugin de autenticação padrão pode ser diferente. Versões antigas costumam usar
mysql_native_password, enquanto versões mais recentes podem recomendar opções mais seguras, comocaching_sha2_password.
Passos Recomendados
- Verifique a versão do seu MariaDB:
SELECT VERSION();
- Consulte a documentação oficial da sua versão e siga as práticas recomendadas mais recentes.
Resumo
Ao entender essas considerações essenciais para a gestão de usuários do MariaDB, você pode reforçar a segurança e melhorar a eficiência operacional. Preste atenção às questões de privilégios e às diferenças específicas de versão, e adote medidas de segurança atualizadas.
5. FAQ (Perguntas Frequentes)
A seguir, perguntas e respostas comuns relacionadas à gestão de usuários do MariaDB. Esta seção cobre configuração de privilégios, tratamento de erros e questões do usuário root que administradores frequentemente enfrentam.
Q1: Como conceder privilégios apenas a um usuário específico?
Resposta
Você pode usar o comando GRANT para conceder apenas os privilégios necessários a um usuário específico. Abaixo está um exemplo que concede privilégios SELECT e INSERT em um banco de dados específico:
GRANT SELECT, INSERT ON database_name.* TO 'username'@'hostname';
FLUSH PRIVILEGES;
Pontos Principais
- Ao especificar
database_name.*, os privilégios se aplicam a todas as tabelas dentro desse banco de dados. - Execute
FLUSH PRIVILEGES;para garantir que as alterações entrem em vigor.
Q2: Quais são as causas e correções quando a lista de usuários não aparece?
Resposta
Se você não conseguir visualizar a lista de usuários, as causas a seguir são comuns.
- Privilégios insuficientes
- Se os privilégios necessários (por exemplo, o privilégio
SELECT) estiverem ausentes, pode ser impossível consultar a tabelamysql.user. - Como alternativa, tente fazer login como usuário root e repita a operação.
- Usar o comando correto
- Em versões mais recentes do MariaDB,
mysql.userpode ser desencorajado. Nesse caso, use o seguinte comando:SELECT User, Host FROM information_schema.USER_PRIVILEGES;
- Verificar a versão do MariaDB
- Como os métodos recomendados podem variar por versão, verifique primeiro a sua versão atual:
SELECT VERSION();
Q3: O que fazer se o usuário root estiver bloqueado?
Resposta
Se o usuário root estiver bloqueado e você não puder fazer login, siga estas etapas.
- Iniciar o MariaDB em modo seguro
- Pare o servidor e reinicie‑o em modo seguro:
bash mysqld_safe --skip-grant-tables &
- Redefinir a senha do root
- Faça login no MariaDB em modo seguro, então redefina a senha root usando o seguinte comando:
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES;
- Saia do modo seguro e reinicie normalmente
- Reinicie o MariaDB e retorne às operações normais.
Notas Importantes
Como a autenticação é contornada no modo seguro, certifique-se de que nenhum terceiro possa acessar o servidor durante esse período.
Q4: Recebi um erro ao excluir um usuário. O que devo fazer?
Resposta
Se você encontrar um erro ao excluir um usuário, as seguintes questões são causas comuns.
- O usuário que você tentou excluir está atualmente em uso
- Se o usuário estiver conectado no momento, a exclusão pode falhar.
- Como solução alternativa, termine a conexão do usuário à força:
SHOW PROCESSLIST; KILL connection_id;
- Existem objetos dependentes
- Se houver objetos associados ao usuário (por exemplo, views ou procedures armazenadas), pode ser necessário removê-los primeiro.
Q5: Como posso salvar a saída do SHOW GRANTS?
Resposta
Você pode salvar a saída de SHOW GRANTS em um arquivo para revisão posterior.
- Salvar em um arquivo
- Use o cliente
mysqlna linha de comando e redirecione a saída:bash mysql -u root -p -e "SHOW GRANTS FOR 'username'@'hostname';" > grants_output.txt
- Salvar como instruções SQL
- Salve a saída em um arquivo de texto para que você possa reutilizá-la mais tarde.
Resumo
Nesta seção de FAQ, abordamos perguntas comuns que surgem frequentemente na gestão de usuários do MariaDB. Use estas respostas para solucionar problemas e melhorar sua eficiência operacional.


