
Actualmente tengo un problema importante. El disco VPS está lleno, la base de datos MySQL creció inesperadamente y no puedo comprar más espacio del alojamiento porque ya está al máximo.
El servicio mysql ya no puede iniciarse debido al espacio de almacenamiento.
¿Hay alguna manera de ejecutar consultas en la base de datos con el servicio desactivado? Pero supongo que requeriría algunas herramientas de terceros y el espacio en el servidor no lo permite. Si no me equivoco, incluso si elimino algunos datos antiguos de la base de datos, no se reducirán de todos modos.
Ni siquiera puedo descargar todos los archivos de la base de datos en mi computadora e intentar reconstruirlos allí, porque es tan grande que no tengo ninguna unidad donde quepa.
¿Qué opciones tengo ahora? ¿Alguien tiene alguna idea sobre lo que podría hacer a continuación?
Respuesta1
MySQL no se ejecuta como root, por lo que probablemente todavía tengas espacio libre "reservado". Puedes reclamar que: tune2fs -m 0 /dev/whatever
.
No dijiste qué sistema operativo tienes, pero probablemente haya algo de espacio que puedas liberar en otro lugar. Si tienes Ubuntu, prueba apt clean
. Elimine los archivos de registro de /var/log/*
, etc.
Si aún puede instalar algo, instálelo ncdu
y hágalo ncdu -x /
para brindarle una descripción general sencilla de qué eliminar.
Además, un truco que hago a menudo es tener un archivo ficticio de unos cientos de MB en algún lugar, que pueda eliminarse si se encuentra en esta situación. Eso y el seguimiento, por supuesto.
Una vez que tengas espacio, tendrás que correr OPTIMIZE TABLE
sobre la mesa ofensiva. Sin embargo, esto provocará una recreación, por lo que necesitará espacio adicional para ello. Además, requiere ejecutarse con innodb_file_per_table
, que es el valor predeterminado hoy en día.