Nueva instalación de CentOS.
Estaba ejecutando una importación de un DB grande (archivo sql de 2GB) y tuve un problema. El cliente SSH pareció perder la conexión y la importación pareció congelarse. Utilicé otra ventana para iniciar sesión en mysql y la importación parecía estar muerta, atascada en una tabla de filas de 3M en particular.
Así que lo intenté
DROP DATABASE huge_db;
15-20 minutos después, nada. En otra ventana, hice:
/etc/init.d/mysqld restart
La ventana DROP DB envió un mensaje: SERVIDOR APAGADO. Luego reinicié el servidor físico.
Volví a iniciar sesión en mysql, verifiqué y el db seguía allí, ejecutó
DROP DATABASE huge_db;
de nuevo, y de nuevo ya estoy esperando unos 5 minutos.
Una vez más, es una instalación nueva. El huge_db
es el único db (que no sea el sistema dbs). Juro que he caído db tan grande antes y rápidamente, pero tal vez me equivoque.
He descartado con éxito la base de datos. Tomó algo así como 30 minutos. También tenga en cuenta que creo que me equivoqué cuando pensé que la importación de mysqldump estaba muerta. Se perdió la conexión del terminal, pero creo que el proceso aún se estaba ejecutando. Lo más probable es que eliminé la tabla media de importación (la tabla de filas de 3M) y probablemente 3/4 del camino a través de toda la base de datos. Fue engañoso que "top" mostrara mysql usando solo el 3% de la memoria, cuando parecía que debería estar usando más.
Dejar caer la base de datos terminó en 30 minutos, por lo que, nuevamente, es posible que no haya tenido que reiniciar el servidor y posiblemente haya esperado a que finalice DROP, pero no sé cómo reaccionaría mysql al obtener una consulta DROP para la misma base de datos que está importando a través de mysqldump.
Aún así, la pregunta sigue siendo, ¿por qué tarda más de 30 minutos en BAJAR una base de datos de 2GB cuando todo lo que debe hacer es eliminar todos los archivos db y eliminar todas las referencias a la base de datos de information_schema? ¿Cual es el problema?
DROP DATABASE
comando, el servidor no continuará hasta que se hayan cerrado todas las conexiones.