Linux & SO

agosto 9, 2011

Usuários conectados ao seus servidor MySQL

Filed under: banco de dados, DB — Tags:, , , — maltzsama @ 2:05 pm

As vezes se faz extremamente necessário saber quem esta acessando nossa base de dados naquele momento. O MySQL apesar de ter ferramentas gráficas até bem maduras, diferente do postgreSQL(na minha opnião). Você terá sempre a possibilidade de usar tudo via terminal.
Apesar de conseguir fazer isso facilmente através do comando “SHOW PROCESSLIST”, quando possuo muitos processos fica um tanto difícil de conseguir verificar todos os usuários. A saída do “SHOW PROCESSLIST” seria a abaixo descreita no meu PC que não esta sendo acessado por ninguém além de mim:
mysql> SHOW PROCESSLIST;
+----+------+-----------+-------+---------+------+-------+------------------+
| Id | User |     Host  |   db  | Command | Time | State |      Info        |
+----+------+-----------+-------+---------+------+-------+------------------+
| 51 | root | localhost | teste | Query   |   0  |  NULL | SHOW PROCESSLIST |
+----+------+-----------+-------+---------+------+-------+------------------+
1 row in set (0.00 sec)

Podemos modificar para termos uma saída mais ou menos assim:
+-----------------+-----------------+----------+
| host_short      |       users     | count(*) |
+-----------------+-----------------+----------+
| slave1          | repl            |     1    |
| slave2          | repl            |     1    |
| localhost       | event_scheduler |     1    |
| 111.111.222.111 | root, foo       |     2    |
| 111.111.222.222 | appuser, bar    |     3    |
| 111.111.222.333 | appuser, moshe  |     9    |
+-----------------+-----------------+----------+

E para isso eu só preciso fazer uma simples query como esta descrita abaixo:
SELECT LEFT(host, IF(LOCATE(':', host), LOCATE(':', host), LENGTH(host) + 1) - 1
) AS
host_short,GROUP_CONCAT(DISTINCT USER) AS users,COUNT(*)
FROM information_schema.processlist
GROUP BY host_short
ORDER BY COUNT(*),host_short;

Essa saída mostrará de forma mais simples os usuários que encontram-se conectados ao seu banco.
fonte: sholimoid

Deixe um comentário »

Nenhum comentário ainda.

Feed RSS para comentários sobre este post. URI de trackback

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Tema: Shocking Blue Green. Blog no WordPress.com.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.