56 votes

"Failed to spawn mysql main process : unable to execute : No such file or directory"

Je suis un débutant sur le terrain de MySQL, alors soyez indulgent avec moi.

Je viens de terminer la mise à jour de 11.10 à 12.04.

Tout semble fonctionner sans accroc et tous mes logiciels et paramètres fonctionnent bien. À l'exception de MySQL.

Quand j'essaie :

sudo start mysql

Je reçois une erreur :

start: Job failed to start

Où puis-je diagnostiquer le problème ? Et (si tout va bien) - comment le résoudre ?

(J'ai désactivé le démarrage automatique suite à un conseil aquí si cela a une certaine importance)


Mise à jour 1 :

Les deux sorties de :

cat /var/log/mysql.err 
cat /var/log/mysql.log

sont vides.

Sortie de dmesg | grep mysql :

[ 1401.785141] type=1400 audit(1335619832.181:25): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=16165 comm="apparmor_parser"
[ 1401.791089] init: Failed to spawn mysql main process: unable to execute: No such file or directory

Mise à jour 2 :

Comme indiqué par AWinter ci-dessous, il semble que MySQL ait disparu automatiquement après la mise à niveau et ait dû être réinstallé.

48voto

Nap Points 163

Vérifiez que le paquet mysql-server-5.1 a été désinstallé, il semble qu'il puisse persister après la mise à jour. J'ai eu la même erreur et j'ai dû purger le serveur MySQL 5.1 et 5.5 puis le réinstaller.

Faites d'abord une sauvegarde de votre répertoire /var/lib/mysql/ par sécurité.

sudo cp -R /var/lib/mysql/ ~/mysql

Ensuite, purgez MySQL (cela supprimera php5-mysql et phpmyadmin ainsi qu'un certain nombre d'autres bibliothèques, donc soyez prêt à réinstaller certains éléments après cela.

sudo apt-get purge mysql-server-5.1 mysql-common

Supprimer le dossier /etc/mysql/ et son contenu

sudo rm /etc/mysql/ -R

Ensuite, vérifiez que vos anciens fichiers de base de données sont toujours dans /var/lib/mysql/ s'ils ne le sont pas, copiez-les à nouveau dans le dossier puis chown root:root.

(ne les exécuter que si les fichiers ne sont plus là)

sudo mkdir /var/lib/mysql/
sudo chown root:root /var/lib/mysql/ -R
sudo cd ~/mysql/
sudo cp * /var/lib/mysql/ -R

Ensuite, installez le serveur mysql

sudo apt-get install mysql-server

Enfin, réinstallez tous les paquets manquants comme phpmyadmin et php5-mysql.

15voto

Kevin C. Smith Points 174
sudo dpkg-reconfigure mysql-server-5.5

12voto

Ryan Evans Points 1

J'ai eu le même problème et pour moi, les fichiers journaux InnoDB étaient d'une taille différente de celle attendue par mysql, et ont échoué silencieusement pendant la mise à jour.

J'avais un fichier de configuration personnalisé qui a été effacé lors de la mise à jour vers 12.04 et qui définissait la taille des fichiers journaux à une valeur différente de celle de la configuration par défaut.

Vous devez supprimer les fichiers : /var/lib/mysql/ib_logfile*.

Après la disparition des fichiers, mysql peut maintenant démarrer et créer de nouveaux fichiers journaux de la taille par défaut.

10voto

RelaXNow Points 1164

La plupart des erreurs apparaîtront en démarrant le serveur en mode non-daemon verbeux et en observant la sortie :

sudo mysqld --verbose

7voto

UselessInfoMine Points 651

J'ai eu le même problème, mais aucune des réponses ci-dessus ne m'a aidé. Alors, comme dernier espoir, j'ai essayé de libérer de l'espace disque. J'ai simplement supprimé les fichiers journaux inutiles de /var/log, ce qui a libéré environ 2,5 G d'espace. Ensuite, MySQL a démarré normalement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X