Erro ao estabelecer uma conexão de banco de dados; Como posso determinar se essas conexões são reais ou não?

3

Acabei de me deparar com um problema hoje, com o MySQL alcançando sua capacidade de conexão com o banco de dados.

O erro que estou recebendo é Error establishing a database connection . Quando tento acessar /phpma , recebo este erro: phpMyAdmin - Error #1040 - Too many connections .

Eu observei como alterar my.cnf para aumentar o número de conexões, mas acho que já fiz isso há algum tempo e não tive problemas desde então. Estou, portanto, um pouco preocupado que essas conexões sejam algum tipo de vulnerabilidade.

Estou executando o CentOS. Existe alguma maneira fácil de verificar essas conexões? Existe alguma coisa que eu deveria estar procurando, ou talvez apenas uma maneira de abater conexões que estão ativas por muito tempo (o MySQL ainda funciona dessa maneira?).

    
por dunc 09.07.2012 / 14:14

2 respostas

2

Para ver quais threads estão rodando no mysql, no Linux:

root@myserver:~> mysqladmin processlist

A consulta mysql equivalente a isso seria:

root@myserver:~> mysql
mysql> SHOW FULL PROCESSLIST\G

Além disso, confira Como examinar informações de tópicos para ver o que os meios de saída . Mais notavelmente:

Command and State indicate what the thread is doing.

Most states correspond to very quick operations. If a thread stays in a given state for many seconds, there might be a problem that needs to be investigated.

O ponto principal é olhar para a lista de processos do mysql e ver se algo lhe parece suspeito, dada a natureza do seu ambiente, por ex. processos de longa duração ou grande número de processos.

    
por 10.07.2012 / 22:27
0

Use este comando e liste os aplicativos mysql em execução,

ps -aux | grep 'mysql'

então, inicie seu mysql requerido em sua porta padrão "3306"

    
por 10.07.2012 / 13:05

Tags