Nouvelle installation CentOS.
J'étais en train d'exécuter une importation d'une grande base de données (fichier de 2 Go SQL) et j'ai eu un problème. Le client SSH semblait perdre la connexion et l'importation semblait se figer. J'ai utilisé une autre fenêtre pour me connecter à mysql et l'importation semblait être morte, bloquée sur une table de rangée particulière de 3M.
Alors j'ai essayé
DROP DATABASE huge_db;
15-20 minutes plus tard, rien. Dans une autre fenêtre, j'ai fait:
/etc/init.d/mysqld restart
La fenêtre de messagerie DROP DB: SERVEUR ARRÊT. Ensuite, j'ai effectivement redémarré le serveur physique.
Reconnecté à mysql, vérifié et la base de données était toujours là, a couru
DROP DATABASE huge_db;
encore, et encore j'attends déjà environ 5 minutes.
Encore une fois, c'est une nouvelle installation. La huge_db
est la seule base de données (autre que la base de données système). Je jure que j’ai largué cette grosse base de données auparavant et rapidement, mais je me trompe peut-être.
J'ai abandonné la base de données avec succès. Cela a pris environ 30 minutes. Notez également que je me suis trompé en pensant que l’importation de mysqldump était morte. La connexion du terminal a été perdue, mais je pense que le processus était toujours en cours. J'ai probablement tué la table intermédiaire d'importation (la table de rangée 3M) et probablement les 3/4 de la base entière. Il était trompeur que "top" montrait que mysql n'utilisait que 3% de mémoire, alors qu'il semblait devoir en utiliser davantage.
Abandonner la base de données a pris 30 minutes, alors encore une fois, je n’aurais peut-être pas eu à redémarrer le serveur et j’aurais peut-être attendu la fin du processus DROP, mais je ne sais pas comment mysql réagirait si une requête DROP était reçue. la même base de données qu'il importe via mysqldump.
Reste cependant à savoir pourquoi il faut plus de 30 minutes pour supprimer une base de données de 2 Go alors que tout ce qu'il devrait faire est de supprimer tous les fichiers de base de données et de supprimer toutes les références à la base de données de information_schema. Quel est le problème?
DROP DATABASE
commande, le serveur ne continuera pas tant que toutes les connexions n'auront pas été fermées.