Como listar usuários no MySQL usando Linux: guia completo

Como listar usuários no MySQL usando Linux: guia completo

O MySQL é uma das principais opções para desenvolvedores e para quem quer testar uma linguagem de consulta estruturada. Ele oferece muitos recursos que o tornam seguro, eficiente e confiável.

Mas, se você quer levar a segurança do seu servidor MySQL ainda mais longe, há algumas estratégias que podem ajudar. Uma delas é criar usuários com acesso restrito ao banco de dados.

Neste tutorial, vamos explicar por que é importante criar contas de usuário separadas no MySQL e como usar o comando SHOW USERS no seu Servidor VPS Hostinger para listar usuários MySQL. Vamos lá?

Por que criar usuários no servidor MySQL?

Quando os usuários ou administradores de banco de dados instalam o MySQL, o primeiro usuário a ser criado é o root – o administrador do MySQL. O usuário root terá permissão para fazer qualquer coisa no banco de dados MySQL.

Embora parecer ter todas as permissões possa ser vantajoso, isso traz suas próprias falhas de segurança, e compartilhar o usuário root entre várias pessoas é arriscado. Hackers frequentemente tentam fazer login como root para roubar informações ou até destruir o servidor MySQL e seus dados.

Por isso, os administradores de sistema criam usuários com permissões específicas em alguns bancos de dados. Em outras palavras, se as credenciais de uma conta forem comprometidas, o impacto será mínimo e mais fácil de gerenciar.

Como listar usuários em um banco de dados MySQL no Linux

Diferente dos comandos SHOW DATABASES ou SHOW TABLES, que mostram todos os bancos de dados ou tabelas imediatamente, o comando SHOW USERS não existe no MySQL. Apesar de não haver esse comando específico, é possível usar uma consulta para obter uma lista completa de usuários em um servidor de banco de dados MySQL.

Siga os passos abaixo para saber mais.

1. Faça login como o usuário raiz do MySQL

Comece fazendo login no VPS via SSH como usuário root. Feito isso, entre na linha de comando do MySQL com este comando:

sudo mysql -u root -p

Em seguida, digite sua senha de root do MySQL.

Importante! Lembre-se de que as senhas do sistema e do root do MySQL são coisas distintas e podem ser diferentes.

Após acessar o console do MySQL como usuário root, você poderá executar consultas para exibir outros usuários do MySQL.

2. Use o comando MySQL SHOW USERS

Para listar os usuários do MySQL criados no servidor de banco de dados, use a seguinte consulta:

SELECT user FROM mysql.user;

Como resultado, você verá a lista de todos os usuários que foram criados no MySQL.

Observe que pode haver usuários duplicados. Isso ocorre porque o MySQL filtra o acesso a um servidor de acordo com o endereço IP de onde ele vem.

Você também pode adicionar uma coluna de host para ver ainda mais informações usando o seguinte comando:

SELECT user,host FROM mysql.user;

Com isso, você poderá ver os usuários do MySQL e qual host ou endereço IP eles têm permissão para acessar. No nosso caso, todos os usuários são de um banco de dados local:

3. Veja mais informações dos usuários MySQL (opcional)

Se precisar de mais informações sobre os usuários do MySQL, o comando de pesquisa poderá ser expandido com a ajuda de consultas do MySQL.

Por exemplo, o comando a seguir exibirá todas as informações possíveis da tabela de usuários:

SELECT * FROM mysql.user;

No entanto, esse resultado pode parecer muito confuso. Portanto, recomendamos restringir a pesquisa usando consultas mais específicas.

Aqui estão alguns dos casos de uso mais comuns:

Visualizar colunas da tabela

A consulta a seguir exibirá uma visualização das colunas da tabela de usuários. Ela é especialmente útil se você quiser verificar informações sobre uma tabela específica.

DESC mysql.user

Exibir apenas nomes de usuário únicos

Para ignorar a repetição de nomes de usuário, use a seguinte consulta:

SELECT DISTINCT user FROM mysql.user;

Status de expiração de senha e bloqueio de conta

Para verificar o status de expiração da senha e o estado de bloqueio da conta, use esta consulta:

SELECT user, account_locked, password_expired FROM mysql.user;

Mostrar usuários atuais e usuários conectados

O usuário atual pode ser exibido com a seguinte consulta:

SELECT current_user();

Se precisar de mais informações, você pode modificar a consulta para exibir os usuários conectados no momento, junto  com seus status. Esse comando é útil para encontrar usuários inativos que estão usando muitos recursos.

SELECT user,host, command FROM information_schema.processlist;

Conclusão

Gerenciar um servidor de banco de dados pode ser um trabalho desafiador. Por isso, os administradores devem ser cuidadosos ao criar e administrar as permissões de usuário.

O comando MySQL SHOW USERS permite que os administradores visualizem os usuários do MySQL juntamente com outras informações importantes.

Para recapitular, abordamos os conceitos básicos de como listar os usuários MySQL vinculados a um banco de dados e aprendemos como fazê-lo, junto com as tarefas abaixo:

  • Listar todos os usuários criados em um determinado banco de dados MySQL
  • Visualizar colunas da tabela do banco de dados MySQL
  • Exibir apenas os nomes de usuário exclusivos em uma tabela
  • Verifique a expiração da senha e o status de bloqueio da conta
  • Mostrar os usuários atuais e os que estão conectados no momento em um banco de dados MySQL

Esperamos que este tutorial seja útil. Se tiver mais dúvidas ou sugestões, deixe-nos um comentário abaixo!

Listar usuários MySQL: perguntas frequentes

Como ver todos os usuários e senhas do MySQL?

Faça a seguinte consulta SQL: 
mysql> select user, password, host from mysql. user 
Essa consulta exibe uma lista de usuários, seus nomes de usuário, senhas e host do banco de dados.

Como exibir usuários no MySQL/MariaDB?

Faça login no seu servidor MariaDB/MySQL com o cliente mysql como usuário root. Digite a seguinte consulta: 
$ mysql -u root -p 
Ou 
$ mysql -u root -h localhost -p mysql

Onde os usuários são armazenados no MySQL?

O MySQL armazena os usuários na tabela user do banco de dados.

Author
O autor

Andrei L.

Jornalista e conteudista SEO/Localização na Hostinger Brasil. Tem experiência em WordPress e na produção de conteúdos de tecnologia otimizados para conquistar as melhores posições no Google. É fã de games, adora vôlei, ama o inverno e está sempre buscando se aperfeiçoar no Inglês.