Escenario
Estaba yo cargando un dump de unos ocho gigas en un servidor de MySql cuando de repente el proceso se queda parado. Lo estaba cargando con un source de un fichero generado con mysqldump. Un show processlist muestra el proceso bloqueado. Lo mato con un kill pero el source sigue sin avanzar. Para detener por completo la carga tuve que matar todos los procesos de mysql (sudo system mysql stop se queda pillado), tras lo cual MySql dejó de funcionar en mi máquina. El propósito de esta entrada no es explicar cómo recuperé MySql, baste decir que me llevo varias horas.Problema
Al día siguiente del incidente con MySql tenía una actualización pendiente del sistema operativo, así que lancé el comando consuetudinario:
1 |
sudo apt-get update && sudo apt-get dist-upgrade |
Solución
Tras buscar en internet testimonios de otras personas en mi situación, doy con un arreglo un tanto tosco pero que, al final, ha dado resultado. Pasa por editar el fichero status de dpkg. Estos son los pasos que he seguido:- Hacer una copia de seguridad de /var/lib/dpkg/status
- Editar /var/lib/dpkg/status para suprimir el bloque del paquete afectado, en mi caso libkf5coreaddons-data. Solo hay que eliminar el bloque principal, no hace falta quitar el resto de paquetes que dependen de él. En mi caso borré el bloque que empieza en Package: libkf5coreaddons-data y acaba en la línea en blanco que delimita dicho bloque.
- sudo dpkg dpkg –configure -a