Me conecté a mi servidor para verificar el estado de la base de datos y me di cuenta de SHOW PROCESSLIST;
que hay una gran cantidad de conexiones suspendidas que son muy antiguas.
¿Qué duración debe ser el límite de tiempo de conexión antes de que se corte la conexión?
¿Cómo configuro el límite de tiempo en MySQL 5.0.51a-3ubuntu5.4?
Nota:
Estoy usando PHP 5.2.xy Symfony Framework 1.2.
Respuestas:
mysqld
agotarán las conexiones de la base de datos en función de dos opciones de servidor:Ambos son 28.800 segundos (8 horas) por defecto.
Puede configurar estas opciones en
/etc/my.cnf
Si sus conexiones son persistentes (abiertas a través de
mysql_pconnect
), puede reducir estos números a algo razonable como 600 (10 minutos) o incluso 60 (1 minuto). O, si su aplicación funciona bien, puede dejar el valor predeterminado. Esto depende de ti.Debe configurarlos de la siguiente manera
my.cnf
(surte efecto después demysqld
reiniciarse):Si no desea reiniciar mysql, ejecute estos dos comandos:
Esto no cerrará las conexiones ya abiertas. Esto hará que se cierren nuevas conexiones en 180 segundos.
fuente
wait_timeout=180
?