Nuova installazione CentOS.
Stavo eseguendo un'importazione di un DB di grandi dimensioni (file sql da 2 GB) e ho avuto un problema. Il client SSH sembrava perdere la connessione e l'importazione sembrava bloccarsi. Ho usato un'altra finestra per accedere a mysql e l'importazione sembrava essere morta, bloccata su una particolare tabella di righe 3M.
Quindi ci ho provato
DROP DATABASE huge_db;
15-20 minuti dopo, niente. In un'altra finestra, ho fatto:
/etc/init.d/mysqld restart
La finestra DROP DB con messaggi: SERVER SHUTDOWN. Quindi ho effettivamente riavviato il server fisico.
Tornato a mysql, controllato e il db era ancora lì, corse
DROP DATABASE huge_db;
di nuovo, e di nuovo aspetto già circa 5 minuti.
Ancora una volta, è una nuova installazione. L' huge_db
è l'unico db (diverso DBS sistema). Ti giuro che ho lasciato il db così grande prima e rapidamente, ma forse mi sbaglio.
Ho lasciato cadere il database con successo. Ci sono voluti circa 30 minuti. Nota anche che penso di essermi sbagliato quando pensavo che l'importazione di mysqldump fosse morta. La connessione al terminale è andata persa, ma penso che il processo fosse ancora in corso. Molto probabilmente ho ucciso il tavolo intermedio di importazione (la tabella delle righe 3M) e probabilmente 3/4 dell'intero db. Era fuorviante che "top" mostrasse mysql usando solo il 3% di memoria, quando sembrava che avrebbe dovuto usarne di più.
L'eliminazione del DB ha richiesto 30 minuti, quindi, ancora una volta, non avrei dovuto riavviare il server e probabilmente avrei semplicemente aspettato che il DROP finisse, ma non so come mysql avrebbe reagito all'ottenimento di una query DROP per lo stesso db che sta importando tramite mysqldump.
Tuttavia, la domanda rimane: perché ci vogliono 30 minuti + per DROP un database da 2 GB quando tutto ciò che dovrebbe fare è cancellare tutti i file db e rimuovere tutti i riferimenti al DB da information_schema? Qual è il grosso problema?
DROP DATABASE
comando, il server non procederà fino a quando tutte le connessioni non saranno state chiuse.