web-dev-qa-db-de.com

mySQL ist tot, aber Subsys ist gesperrt

Ich benutze PHP-mysql auf Linux (RHEL 5.0)  Zum ersten Mal
Beim Versuch, über mein PHP - Skript mit mysqli_connect eine Verbindung zu MySQL herzustellen. 
Es wurde der folgende Fehler angezeigt: 

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

Nach stundenlangem Googeln fand ich eine Lösung wie hier hier .

Als ich diesem Ansatz folgte und den Befehl erteilte:

service mysqld status

als Rootbenutzer bekam ich: mysql is dead but subsys locked Weiß jemand, wie man das löst und die Ursache dieses Fehlers ist?

Ebenfalls 

  • Neustart
  • Beginnend
  • Und Stoppen von MySQL
gibt Ausgabe als:  GESCHEITERT 
Aber PHP funktioniert gut. Ich habe die phpinfo(); für Demo getestet.
Ich habe MySQL in /usr/local/mysql/bin installiert. Kann mir jemand dabei helfen? Jede Hilfe wird geschätzt.


Danke im Voraus.

20
Vedant Terkar

Ich hatte dieses Problem mit meinem OTRS-Server, nachdem ich versucht hatte, ein großes Paket zu aktualisieren.

Die Lösung war:

kopie für Sicherheit:

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

als es zu löschen

rm /var/lock/subsys/mysqld

schließen Sie alle Dienste, die von mysql abhängen:

service httpd stop
service otrs stop

nachdem:

service mysqld restart
service httpd restart
service otrs restart

System ist CentOS 6.x

59
Jonathan H.
  1. /var/log/mysqld.log um das Fehlerprotokoll zu überprüfen
  2. führen Sie dann die folgenden Aktionen aus:

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

4
user3018158
service mysqld restart

Der Neustart des mysql funktionierte für mich auf Centos. 

4
Mayank Jaiswal

stellen Sie zunächst sicher, dass /etc/init.d/mysqld unter/usr/local/mysql/bin .__ ausgeführt wird. Dann beenden Sie mysqld, löschen Sie die Sperrdatei und starten Sie sie erneut.

3
fsgf

Suchen Sie zuerst die PID-Nummer von mysqld:

1. Verwenden Sie top | grep mysqld
2. töte -9 PID

Sichere Methode, funktioniert gut mit Cent OS

1
Abhik Bose

Dies (und alle möglichen anderen seltsamen Fehler) können auch auftreten, wenn Sie eine vollständige Festplatte haben. In meinem Fall war meine/var-Partition voll. Durch die Freigabe von Speicherplatz konnte mysqld erneut gestartet werden.

1
Dale Anderson

Der Neustart des Servers hat für mich funktioniert. Bitte denken Sie daran, alle Dienste nach dem Neustart zu starten, falls Sie nicht "chkconfig" für sie hinzugefügt haben, sagen wir httpd, named und mysql.

0
Saladin

ich benutze den Befehl Kill, Schritt für Schritt:

  1. verwenden Sie den Befehlsservice mysqld status, um die PID mysqld zu finden
  2. töte -9 PID
  3. verwenden Sie den Befehlsservice mysqld status erneut, um die PID mysqld zu finden
  4. töte -15 PID
  5. Überprüfen Sie noch einmal mit dem Befehlsservice mysqld status, überprüfen Sie, bis die PID dead OR subsys gesperrt ist 
  6. verwenden Sie den Befehlsservice mysqld start
0
danangnurfauzi