¿Qué podría causar una falla repentina en una instalación de MySQL 5.0.67?

¿Qué podría causar una falla repentina en una instalación de MySQL 5.0.67?

Tengo un antiguo Ubuntu 8.10 de 32 bits con MySQL 5.0.67.

Contiene 5,7 GB de datos y crece aproximadamente 100 MB cada día.

Hace aproximadamente 3 días, la instancia de MySQL comenzó a morir repentina y silenciosamente (sin entrada de registro) durante el mysqldump nocturno.

¿Qué podría estar causándolo?

Actualizar MySQL es un proyecto a largo plazo para mí, a menos que haya un error específico en 5.0.67, entonces supongo que tendré que cambiar las prioridades.

Espero que alguien esté familiarizado con este problema, ya que se trata de una versión bastante popular incluida con Ubuntu 8.10.

Gracias

Respuesta1

¿Hay una mesa muy grande que se está tirando o un montón de mesas medianas? ¿Estás usando la opción -q con mysqldump? ¿Hay una tabla grande que está volcando y en la que se está escribiendo? Si es así, bloquear una tabla grande evitará que se ejecuten otros subprocesos debido al bloqueo mantenido, lo que podría hacer que su servidor web/scripts esperen hasta que la máquina se quede sin recursos.

Es posible que esté utilizando toda la memoria disponible en el proceso mysql o mysqldump, lo que provoca que el asesino OOM (memoria insuficiente) en el kernel finalice el proceso. Para eso, puedes echar un vistazo a kern.log, syslog, mensajes para la cadena OOM o algo similar a:

Mar 29 16:51:10 xxxxxx kernel: 160688 total pagecache pages
Mar 29 16:51:10 xxxxxx kernel: 2048 pages in swap cache
Mar 29 16:51:10 xxxxxx kernel: Swap cache stats: add 25966, delete 23918, find 150791/151181
Mar 29 16:51:10 xxxxxx kernel: Free swap  = 8228916kB
Mar 29 16:51:10 xxxxxx kernel: Total swap = 8297564kB
Mar 29 16:51:10 xxxxxx kernel: 2228208 pages RAM
Mar 29 16:51:10 xxxxxx kernel: 183093 pages reserved
Mar 29 16:51:10 xxxxxx kernel: 2208385 pages shared
Mar 29 16:51:10 xxxxxx kernel: 1864656 pages non-shared
Mar 29 16:51:10 xxxxxx kernel: mysqld: page allocation failure. order:1, mode:0x20

Respuesta2

Si no hay ninguna entrada en los registros, le recomiendo que intente rastrear mysqldump.

strace -f -o strace.output mysqldump your_mysqldump_options

Luego eche un vistazo a las últimas líneas del archivo strace.output. Esto normalmente ilumina el camino y es una buena manera de empezar a depurar estos problemas.

Por otro lado, una aplicación de moda como Cacti, Ganglia o Munin también es útil en este tipo de problemas, ya que puedes observar el comportamiento del servidor con respecto a métricas importantes como conexiones TCP, CPU, memoria e intercambio, por ejemplo.

Espero que esto ayude.

información relacionada