Como saber se alguma conexão MySQL foi descartada ou expirou?

2

Um cliente está usando PHP para se conectar ao MySQL. Os scripts PHP e o banco de dados MySQL estão localizados em dois servidores Linux diferentes. Ele reclamou que as conexões do banco de dados estavam sendo descartadas ou expiraram e me pediu para dar uma olhada.

Existe algum lugar no MySQL que possa me mostrar quais e quantas conexões foram descartadas ou expiradas? Eu olhei no log de consultas lentas e não vi nada.

Alguma sugestão sobre como diagnosticar este problema de conexão de banco de dados interrompido / expirado?

Obrigado

EDITAR:

O log de consultas lentas está ativado em my.cnf :

log-slow-queries=/var/log/mysql-slow-queries.log

E quando eu faço um

mysql> show global status;

Eu tenho:

| Slow_queries                      | 11402347     | 

Portanto, há muitas consultas lentas. Mas o arquivo /var/log/mysql-slow-queries.log não existe. Por que isso?

    
por Continuation 27.02.2011 / 03:00

3 respostas

2

O arquivo de log de consulta lenta deve existir e deve ser gravável pelo usuário mysql. Em uma instalação padrão do mysql eu faria:

touch /var/log/mysql-slow-queries.log
chown mysql.mysql /var/log/mysql-slow-queries.log

E, em seguida, reinicie o mysql.

Se você definir o arquivo de log lento em um diretório específico (ou seja, /var/log/mysql/slow.log) com permissões suficientes, o MySQL criará o arquivo de log por si só:

mkdir /var/log/mysql
chown mysql.mysql /var/log/mysql
    
por 27.02.2011 / 03:56
1

Você ativou seu log de consultas lentas? Está vazio ou funciona?

Normalmente, o log de consultas lentas está desativado por motivos de desempenho e você pode ativá-lo para depurar, se necessário.

Você pode tentar usar o novo MySQL Workbench. Com o MySQL Administrator dentro do Workbench você pode ver todas as conexões abertas na ferramenta em uma lista. É muito útil ver suas conexões e gerenciar e monitorar seu servidor por um curto período de tempo.

Outra maneira é pegar a declaração do MySQL:

show processlist;

mostra as consultas em andamento e você pode ver o que está acontecendo.

Talvez eu possa ajudar você. Para o log de consultas lentas, você obtém mais informações no site do MySQL ou aqui

    
por 27.02.2011 / 03:21
0

mysqladmin extended-status|head também pode ajudar aqui.

    
por 10.07.2011 / 10:42