Android

Como mostrar / listar usuários no mysql

Mostrar Y Filtrar los registros de la tabla usuarios con JSP, MYSQL, AJAX Y JQUERY

Mostrar Y Filtrar los registros de la tabla usuarios con JSP, MYSQL, AJAX Y JQUERY

Índice:

Anonim

Você já precisou obter uma lista de todos os usuários em seu servidor MySQL? Existem comandos para mostrar bancos de dados e tabelas, mas não há comando show users MySQL.

Este tutorial explica como listar todas as contas de usuário em um servidor de banco de dados MySQL através da linha de comando. Também mostraremos como descobrir quais usuários têm acesso a um determinado banco de dados.

Antes de você começar

Estamos assumindo que você já possui o servidor MySQL ou MariaDB instalado no seu sistema.

Todos os comandos são executados dentro do shell do MySQL como um usuário root. Para acessar o shell do MySQL, digite o seguinte comando e digite sua senha de usuário root do MySQL quando solicitado:

mysql -u root -p Se você esqueceu sua senha root do MySQL, poderá redefini-la seguindo estas instruções.

Mostrar todos os usuários do MySQL

O MySQL armazena informações sobre os usuários em uma tabela denominada user no banco de dados mysql .

Para obter uma lista de todas as contas de usuário do MySQL, use a SELECT para recuperar todas as linhas da tabela mysql.users :

SELECT User, Host FROM mysql.user;

A saída deve ser semelhante à abaixo:

+------------------+-----------+ | user | host | +------------------+-----------+ | root | localhost | | luke | % | | yoda | % | | jabba | 10.10.0.6 | | jabba | 10.10.0.9 | | chewbacca | localhost | | leia | localhost | | han | localhost | +------------------+-----------+ 8 rows in set (0.00 sec)

O comando acima mostra apenas duas colunas da tabela mysql.user ( User e Host ). Esta tabela contém mais de 40 colunas, como Password , Select_priv , Update_priv , etc.

Uma conta de usuário no MySQL consiste em duas partes: um nome de usuário e nome de host.

Use o desc mysql.user; para exibir informações sobre as colunas da tabela. Depois de saber o nome da coluna, você pode executar uma consulta nos dados selecionados.

Por exemplo, para obter uma lista de todas as contas de usuários do MySQL, incluindo informações sobre a senha e se está ativa ou expirada, você deve usar a seguinte consulta:

SELECT User, Host, Password, password_expired FROM mysql.user;

+----------------+-----------+-------------------------------------------+------------------+ | User | Host | Password | password_expired | +----------------+-----------+-------------------------------------------+------------------+ | root | localhost | | N | | luke | % | *ADC3B5B27617732CD6320A2DA976258E149A7EC8 | N | | yoda | % | *9550E004046348198A143A115550E1262209FB6F | N | | jabba | 10.10.0.6 | *F91C86B486B945C083B61A05FF6E197560D187EC | Y | | jabba | 10.10.0.9 | | Y | | chewbacca | localhost | *17F2B1E48029294841AD66772BEBB7E6E6A005AF | N | | leia | localhost | *74409C8DB55AC1A6829D801915981C46EDBFC64A | N | | han | localhost | *7B3022FCAEC3534CE67C68322D8AF0C240D95745 | N | +----------------+-----------+-------------------------------------------+------------------+ 8 rows in set (0.00 sec)

Mostrar usuários que têm acesso a um banco de dados específico

As informações sobre os privilégios no nível do banco de dados são armazenadas na tabela mysql.db .

Você pode consultar a tabela para descobrir quais usuários têm acesso a um determinado banco de dados e o nível dos privilégios.

Por exemplo, para obter uma lista de todos os usuários que possuem algum nível de acesso ao banco de dados denominado db_name , use a seguinte consulta:

SELECT * FROM mysql.db WHERE Db = 'db_name'\G;

*************************** 1. row *************************** Host: localhost Db: db_name User: db_user Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Grant_priv: N References_priv: Y Index_priv: Y Alter_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Execute_priv: Y Event_priv: Y Trigger_priv: Y 1 row in set (0.00 sec)

Para buscar informações apenas sobre as contas de usuário que têm acesso a um determinado banco de dados, sem exibir os privilégios, use:

SELECT db, host, user FROM mysql.db WHERE db = 'db_name'

+---------+-----------+---------+ | db | host | user | +---------+-----------+---------+ | db_name | localhost | db_user | +---------+-----------+---------+

A consulta a seguir mostra informações sobre todos os bancos de dados e usuários associados:

SELECT db, host, user FROM mysql.db WHERE db = 'db_name'

+------------------+-----------+-----------+ | db | host | user | +------------------+-----------+-----------+ | db_name | localhost | db_user | | ghost_production | localhost | chewbacca | | blog_db | localhost | leia | | linuxize | localhost | han | +------------------+-----------+-----------+

Conclusão

Neste tutorial, mostramos como obter uma lista de todos os usuários do MySQL e descobrir quais usuários têm acesso a um banco de dados específico.

Sinta-se livre para deixar um comentário se tiver alguma dúvida.

mysql mariadb