2009-08-05 7 views
0

J'importais des données de fichiers txt dans mysql (via le script php). Ce vidage est énorme, il est divisé en 10 fichiers. J'ai importé le premier et le second et tout allait bien - je pouvais voir toutes les entrées dans phpmyadmin, etc. Il y avait environ 700 000 (?) D'entrées. Quand j'ai commencé à importer le troisième, quelque chose de bizarre s'est produit - importer le script chargé pour toujours. Je l'ai laissé pour terminer son travail mais après veeeeery longtemps (et puisque le dossier était la même taille que les morceaux précédents je pensais que cela ne devrait pas prendre si longtemps) j'ai cliqué sur 'stop' dans le navigateur pour arrêter mon script. Ensuite, j'ai essayé d'accéder à phpmyadmin ... charges pour toujours et ne s'arrête jamais. J'ai essayé de charger mon site (c'est sur mon apache2 local) ... charges pour toujours.Importer de gros (et corrompus?) Fichiers texte en clair dans mysql cassé ma lampe installer

/etc/init.d/mysql restart 
Stopping MySQL database server: mysqld 

... prend également une éternité et ne se termine jamais. Il ne l'arrête jamais réellement. Je suis capable de redémarrer Apache avec succès, cependant.

I faire avoir sauvegarde (instantané - c'est vm), mais j'essaie de comprendre ce qui se passe. Pourquoi entier apache réagit de cette façon? Qu'est-il arrivé? Comment puis-je l'empêcher la prochaine fois? Je peux revenir à l'instantané, importer des pièces valides 1 & 2 et ensuite essayer le 4ème ... mais que se passe-t-il si 4ème va tout casser aussi? J'utilise Debian Lenny, Apache 2 et j'accède à mon site via le domaine 'virtuel' configuré dans/etc/hosts et le fichier de configuration Apache (oui, j'ai essayé d'y accéder via 127.0.0.1 ...) ne fonctionne pas non plus).


J'ai essayé ceci:

killall mysqld 
debian# /etc/init.d/mysql restart 
Stopping MySQL database server: mysqld failed! 
/etc/init.d/mysql: ERROR: The partition with /var/lib/mysql is too full! failed! 
+0

les amis ne laissent pas leurs amis utiliser le dauphin. – NotMe

Répondre

0

Il pourrait y avoir plusieurs choses qui se passent ici. Trouvez d'autres indices avec les éléments suivants:

  • assurez-vous que vous n'avez pas rempli votre partition var. Emettez 'df -h' et voyez si quelque chose est complet à 100%.
  • Vérifiez le journal des erreurs mysql - probablement situé dans /var/log/mysql.err ou quelque chose de similaire.
  • Vous pouvez toujours voir ce qui se passe dans mysql en émettant 'mysql -uroot -e "show processlist' 'Vous devrez changer la partie" -uroot "en un utilisateur valide en fonction de la configuration de mysql (" -u nom d'utilisateur -p ")

En outre, killall n'est pas un excellent moyen de fermer mysql. Essayez 'sudo /etc/init.d/mysqld stop' ou 'mysqladmin -uroot shutdown'. En général, essayez de ne pas utiliser killall. Si vous devez tuer, essayez "kill [mysql's pid]" ou "ps -ef | grep mysql | awk '{print $ 2}' | xargs tue"

Questions connexes