Como administrador de banco de dados, você encontrará instâncias em que precisa conhecer os usuários em um servidor MySQL. Isso permitirá que você saiba quais usuários podem executar tarefas específicas e gerenciar suas permissões.
Este tutorial explorará o método de buscar os usuários disponíveis em um servidor MySQL.
Requisitos
Antes de começarmos com este tutorial, estamos assumindo que você tem:
Etapa 1 - Faça login para MySQL
Você acessará seu shell MySQL para mostrar e gerenciar usuários em seu servidor MySQL.
Sintaxe de comando:
$ mysql -u-p
Substitua o nome de usuário pelo usuário -alvo que você deseja fazer login.
Por exemplo, como root, execute:
$ mysql -u root -p
Digite a senha do nome de usuário. Uma vez autenticado com sucesso, você deve cair no shell SQL como mostrado:
Aqui, você pode começar a executar comandos SQL e ver a saída resultante.
Listando usuários em MySQL
Infelizmente, o MySQL não fornece um comando de usuários de show nativo que podemos usar. Isso significa que temos que brincar com a forma como o MySQL armazena informações.
Por exemplo, MySQL usa o MySQL.Tabela de usuários para armazenar informações do usuário. Podemos então usar as informações armazenadas nesta tabela para recuperar várias informações.
MySQL mostra todos os usuários
Vamos começar discutindo como recuperar todos os usuários. Execute a consulta:
Selecione
do utilizador
DE
mysql.do utilizador;
O comando recuperará a coluna do usuário do MySQL.Tabela de usuários e retorne os resultados como mostrado:
A partir da saída acima, podemos ver vários usuários, como root, mysql.sys, mysql.sessão, etc.
Lembre -se de que o comando acima pode exigir que você altere os bancos de dados. Se você receber a “consulta 1: tabela 'mysql.Erro do usuário 'não existe ”, execute o comando abaixo para alternar os bancos de dados.
> Use MySQL
Depois de obter a lista de usuários no servidor, você pode coletar informações sobre o usuário usando comandos como Desc.
Mostre usuários com sessão ativa
Também podemos obter uma lista de usuários com sessões ativas usando o banco de dados Information_schema. Este banco de dados armazena informações sobre o servidor e as sessões atuais.
Executar o comando:
O comando acima buscará o nome de usuário, o host e o banco de dados da tabela ProcessList. Isso mostra o nome de usuário atual, o host do qual o cliente está se conectando e o banco de dados ao qual eles se conectaram.
Um exemplo de saída é como mostrado:
Da saída acima, podemos ver que existem atualmente três usuários conectados. Lembre -se de que o mesmo nome de usuário, mas um host diferente é tratado como um nome de usuário diferente.
Mostre o usuário atual
Às vezes, pode ser necessário coletar informações rápidas sobre o usuário atual. Felizmente, o MySQL tem uma função de usuário () que retorna o usuário atualmente conectado.
Um exemplo é como mostrado:
Selecione
do utilizador();
O comando deve retornar as informações atuais do usuário como:
Obtenha usos com acesso a um banco de dados específico
Suponha que você queira determinar o nome de usuário com acesso a um banco de dados alvo? Você pode usar a tabela e o filtro do banco de dados para esse nome de usuário em particular.
Pegue a ilustração de código abaixo:
Selecione
*
DE
mysql.dB
ONDE
Db = 'sys' \ g;
O comando acima retornará o usuário com qualquer acesso ao banco de dados SYS. Sinta -se à vontade para substituir o sistema pelo nome do banco de dados que você deseja avaliar.
O comando retornará uma saída como mostrado:
*************************** 1. linha ***************************
Anfitrião: localhost
DB: SYS
Usuário: MySQL.sys
SELECT_PRIV: n
Insert_priv: n
Update_priv: n
Delete_priv: n
Create_priv: n
Drop_priv: n
Grant_priv: n
Referências_priv: n
Index_priv: n
ALTER_PRIV: n
Create_tmp_table_priv: n
Lock_tables_priv: n
Create_view_priv: n
Show_view_priv: n
Create_routine_priv: n
ALTER_ROUTINE_PRIV: n
Execute_priv: n
Event_priv: n
Trigger_priv: y
1 linha no conjunto (0.00 seg)
Da saída acima, podemos ver que o MySQL.O usuário do SYS tem um privilégio de acionar o banco de dados.
Conclusão
Conforme ilustrado neste tutorial, podemos usar várias tabelas e bancos de dados MySQL para buscar informações sobre os usuários. Esse recurso poderoso permite criar procedimentos e outros tipos definidos pelo usuário para coletar informações do usuário.