web-dev-qa-db-fra.com

mysql est mort mais subsys verrouillé

J'utilise PHP-mysql sur Linux (RHEL 5.0)  Pour la première fois
Lorsque j'ai essayé de me connecter à MySQL à partir de mon script PHP à l'aide de mysqli_connect. 
Il a affiché l'erreur suivante: 

Can't connect to local MySQL server through socket '/var/mysql/mysql.sock'(2)

Après avoir googlé pendant une heure, j’ai trouvé la solution à ce problème, comme indiqué ici .

Lorsque j'ai suivi cette approche et émis le commandement:

service mysqld status

en tant qu'utilisateur root J'ai: mysql is dead but subsys locked Quelqu'un sait comment résoudre ceci et la cause de cette erreur?

Également 

  • Redémarrage
  • Départ
  • Et arrêt de MySQL
donne la sortie comme:  ÉCHOUÉ 
Mais PHP fonctionne bien. J'ai testé le phpinfo(); pour Demo.
J'ai installé MySQL dans /usr/local/mysql/bin. Quelqu'un peut-il m'aider dans ce domaine? Toute aide est appréciée.


Merci d'avance.

20
Vedant Terkar

J'ai eu ce problème avec mon serveur OTRS après avoir essayé de mettre à jour un paquet volumineux.

La solution était:

copie pour safty:

cp /var/lock/subsys/mysqld /root/mysqld

que de le supprimer

rm /var/lock/subsys/mysqld

que fermer tous les services qui dépendent de mysql:

service httpd stop
service otrs stop

après ça:

service mysqld restart
service httpd restart
service otrs restart

Le système est CentOS 6.x

59
Jonathan H.
  1. tail /var/log/mysqld.log pour vérifier le journal des erreurs
  2. puis effectuez les actions suivantes:

    rm /var/lock/subsys/mysqld chown -R mysql.mysql /var/run/mysqld

4
user3018158
service mysqld restart

Redémarrer simplement le mysql a fonctionné pour moi sur Centos. 

4
Mayank Jaiswal

premièrement, assurez-vous que /etc/init.d/mysqld est lancé à partir de/usr/local/mysql/bin Ensuite, tuez mysqld, supprimez le fichier de verrouillage et redémarrez-le.

3
fsgf

Recherchez d'abord le numéro PID de mysqld:

1. Utilisez top | grep mysqld
2. kill -9 PID

Méthode sûre, fonctionne bien avec Cent OS

1
Abhik Bose

Ceci (et toutes sortes d’autres erreurs étranges) peut également se produire si vous avez un disque complet. Dans mon cas, ma partition/var était pleine. Libérer de l’espace a permis à mysqld de redémarrer à nouveau.

1
Dale Anderson

Le redémarrage du serveur a fonctionné pour moi. N'oubliez pas de démarrer tous les services une fois que vous avez redémarré au cas où vous n'avez pas ajouté 'chkconfig' pour eux, disons httpd, named et mysql.

0
Saladin

j'utilise la commande kill, étape par étape:

  1. utiliser le statut du service de commande mysqld pour trouver le PID mysqld
  2. tuer -9 PID
  3. utilisez à nouveau le service mysqld du service de commande pour trouver le mysqld PID
  4. tuer -15 PID
  5. vérifiez à nouveau avec le service mysqld status du service de commande, vérifiez jusqu'à ce que le sous-système PID dead OR soit verrouillé 
  6. utiliser le service de commande mysqld start
0
danangnurfauzi