Acabei de encontrar um problema hoje com o MySQL atingindo 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
.
Pesquisei 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? Há algo que eu deveria procurar, ou talvez apenas uma maneira de selecionar conexões que estão ativas há muito tempo (o MySQL funciona dessa maneira?).
Responder1
Para ver quais threads estão sendo executados 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, confiraExaminando informações do tópicopara ver o que a saída significa. Mais notavelmente:
ComandoeEstadoindique o que o thread está fazendo.
A maioria dos estados corresponde a operações muito rápidas. Se um thread permanecer em um determinado estado por muitos segundos, poderá haver um problema que precisa ser investigado.
O ponto principal é olhar a lista de processos do MySQL e ver se algo parece suspeito para você, dada a natureza do seu ambiente, por exemplo, processos de longa execução ou grande número de processos.
Responder2
Use este comando e liste os aplicativos mysql em execução,
ps -aux | grep 'mysql'
então, inicie o mysql necessário em sua porta padrão "3306"