Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Sehr hartnäckig /opt/lampp/bin/mysql.server:264:kill:Kein solcher Prozess. Xampp/ubuntu 16.04

Das ist also ein sehr kompliziertes Problem.

Denn nach dem, was Sie (sehr detailliert) beschrieben haben, gibt es immer noch viele mögliche Ursachen für dieses Problem.

FRAGE: Hier sind einige Fragen für Sie zusammengefasst (aus meiner Erfahrung):

  1. Läuft Ihr MySQL not running ist beim ersten Start passiert (xampp start / xampp startmysql)?
  2. Haben Sie nach der Installation von xampp unter Linux die MySQL-Konfiguration angepasst (Standard etc/my.cnf)?
  3. FALLS ANGEPASST Haben Sie Ihr Datenbankverzeichnis an einen anderen Speicherort angepasst (Standard /opt/lampp/var/mysql)?
  4. FALLS NICHT ANGEPASST Wie Sie bereits erwähnt haben, haben Sie Zugriff auf die mysql-Befehlszeile, haben Sie versucht, Ihre Datenbank mit SQL zu synchronisieren, oder war die Datenbank nicht einmal zugänglich (was bedeutet, dass der mysql-Server mit dem Namen mysqld nicht ordnungsgemäß gestartet wurde)?
  5. Haben Sie persönlich eine MySQL-Datenbank initialisiert/installiert (standardmäßig bin/mysql_install_db)?Ok, diese obigen Fragen sollten eine grundlegende Idee zur Fehlerbehebung liefern.

LÖSUNG:

1. Fehlerprotokollproblem

Dies sollte also das einfachste Problem sein, und es könnte uns helfen, die Fehlerursachen besser zu identifizieren.

Prüfen

a) In der MySQL-Konfiguration (my.cnf) wie lautet Ihr laufender Benutzer? dies sollte ein Parameter unter [mysqld] user=... (Standard mysql) sein, wir gehen davon aus, dass unsere Konfiguration auf mysql eingestellt ist

b) Haben Sie ein Konto zum Ausführen des Benutzer-Try-Terminal-Befehls id -u mysql , wenn es eine ID-Nummer zurückgibt, dann existiert das Konto, andernfalls sollte es Ihnen sagen no such user . Sie benötigen diesen Benutzer, um den MySQL-Server auszuführen und das Fehlerprotokoll zu schreiben (wenn Sie sich den zweiten Teil Ihres Terminaleintrags ansehen, sollte Ihr Konto existieren)

c) Überprüfen Sie den Speicherort des Fehlerprotokolls Ihrer MySQL-Konfiguration (my.cnf), es sollte unter [mysqld] als Parameter log-error=... sein, wenn dies nicht geschrieben ist, fügen Sie es hinzu (muss unter [mysqld] sein).

d) Überprüfen Sie jedes Verzeichnis Ihres Protokolls auf den vollständigen Pfad (z. B. /var/log/mysql/error.log)

  • /var sollte read haben und execute Berechtigung für mysql-Benutzer (mindestens ******r-x) Berechtigung zum Erstellen von Dateien (Ausführen) übergeben
  • /var/log sollte read haben und execute Berechtigung für mysql-Benutzer (mindestens ******r-x) Berechtigung zum Erstellen von Dateien (Ausführen) übergeben
  • /var/log/mysql sollte read haben , write und execute Berechtigung für mysql-Benutzer (das ist ******rwx) Berechtigung zum Erstellen und Schreiben von Dateien

Damit Ihre error.log-Datei hier erstellt werden kann, versuchen Sie, wenn sie immer noch nicht funktioniert, sie manuell mit Besitzer als mysql, Gruppe als mysql und Autorität von 660 zu erstellen.

2. Ausführungsstatus des MySQL-Servers

Es gibt mehrere Ansätze, dies zu überprüfen

a) Verwenden Sie mysql.server (standardmäßig bin/mysql.server), um mysql.server status auszuführen Befehl. Wenn Ihr MySQL-Server läuft, sollte er SUCCESS anzeigen! MariaDB läuft.

b) Verwenden Sie top Befehl, um zu überprüfen, ob der Dienst ausgeführt wird, oder verwenden Sie top | grep "mysqld" . mysqld und mysqld_safe sollte drin sein.

c) Melden Sie sich an der mysql-Befehlszeile an, genau wie Sie es in Terminal-Datensatz 4 getan haben (dieser Teil funktioniert) und führen Sie den Befehl SHOW DATABASES; aus das sollte auch funktionieren.

3. Angepasster Datenbankspeicherort führt dazu, dass Xampp mysql nicht ausgeführt wird Dies ist ein viel tieferes Problem, da ich bestätigt habe, dass der MySQL-Server ordnungsgemäß läuft.

Das habe ich

[[email protected] ~]# /opt/lampp/xampp status
Version: XAMPP for Linux 7.4.1
Apache is running.
MySQL is not running.
ProFTPD is running.
[[email protected] ~]# /opt/lampp/bin/mysql.server status
SUCCESS! MariaDB running (xxxx)

Dies zeigt also, dass xampp den Dienststatus falsch abruft (wie ein anderer Beitrag MySQL-Datenbank startet auf Terminal, aber nicht auf XAMPP )

Ich konnte im Detail nachvollziehen, wie xampp funktioniert, aber in /opt/lampp/xampp script-Datei habe ich /opt/lampp/share/xampp/status gefunden und /opt/lampp/share/statusraw

Gehen Sie weiter darauf ein (sowohl /opt/lampp/share/xampp/status und /opt/lampp/share/statusraw Datei),

 /opt/lampp/var/mysql/` /bin/hostname`.pid mysqld

Da meine Datenbank an ein lokalisiertes Verzeichnis angepasst wurde, bedeutet dies, dass sich die PID-Datei nicht in /opt/lampp/var/mysql befindet , und dieser Status wird immer falsch zurückgegeben.

Das Ändern dieser in meine eigene Datenbank-PID-Position löste das Problem.