Fehleranalyse in Sachen SQL:

Der Fehler tritt normalerweise auf, wenn der MySQL-Server nicht läuft oder wenn die Anwendung nicht auf den richtigen Socket zugreifen kann. Hier sind einige Schritte, die man unter Gentoo Linux ausführen können, um das Problem zu beheben:

Überprüfe, ob der MySQL-Server läuft: Führe den folgenden Befehl aus, um den Status des MySQL-Servers zu überprüfen:

rc-service mysql status

bzw.

/etc/init.d/mysql status

Wenn der MySQL-Server nicht läuft, kann man ihn mit dem folgenden Befehl starten:

rc-service mysql start

bzw:

/etc/init.d/mysql start

Überprüfe den Pfad des MySQL-Sockets: Es kann sein, dass der Pfad zum MySQL-Socket nicht mit dem erwarteten Pfad übereinstimmt. Überprüfe die MySQL-Konfigurationsdatei, normalerweise unter /etc/mysql/my.cnf , und suche nach der Zeile, die den Pfad zum Socket angibt. Stelle sicher, dass der Pfad in der Fehlermeldung /var/run/mysqld/mysqld.sock übereinstimmt.

Leider war in der Datei kein Pfad angegeben. So schaute ich nach dem Verzeichnis des Socket /var/run/mysqld/:

sysvorOrt /etc/mysql # cd /var/run/mysqld/
sysvorOrt /var/run/mysqld # ls -all
insgesamt 0
drwxr-xr-x 2 mysql mysql 40 20. Jul 13:19 .
drwxr-xr-x 25 root root 720 20. Jul 08:30 ..
sysvorOrt /var/run/mysqld #

Leider war das Verzeichnis leer. Daher habe ich eine Neuinstallation durchgeführt. Danach war der Inhalt vohanden:

Überprüfen Sie die MySQL-Logdateien: Überprüfen Sie die MySQL-Logdateien, um weitere Informationen über das Problem zu erhalten. Die Logdateien befinden sich normalerweise unter /var/log/mysql/.

Fehlende Berechtigungen: Stellen Sie sicher, dass die Anwendung, die auf den MySQL-Server zugreift, die erforderlichen Berechtigungen hat, um auf den Socket zuzugreifen. Standardmäßig gehört der Socket oft zum MySQL-Benutzer und der MySQL-Gruppe.

Sie können die Berechtigungen mit folgenden Befehlen ändern:

chown mysql:mysql /var/run/mysqld/mysqld.sock
chmod 0660 /var/run/mysqld/mysqld.sock

Der User kann ggf. zur Gruppe MySQL hinzugefügt werden.

sysvorOrt /etc # usermod -aG mysql michi

Firewall-Einstellungen überprüfen: Stellen Sie sicher, dass die Firewall auf Ihrem System den Zugriff auf den MySQL-Port (standardmäßig 3306) nicht blockiert, wenn Sie von einem entfernten Standort auf MySQL zugreifen möchten.

MySQL neu starten: Führen Sie einen Neustart des MySQL-Servers durch, um sicherzustellen, dass alle Konfigurationsänderungen wirksam werden:

rc-service mysql restart

bzw

/etc/init.d/mysql restart

Führen Sie die oben genannten Schritte nacheinander aus und überprüfen Sie nach jedem Schritt, ob der Fehler behoben ist. Normalerweise sollte das Problem durch eine der oben genannten Lösungen weg sein.

Ich habe die LOG Datei angeschaut um Fehler zu finden.

sysvorOrt /var/run/mysqld # cd /var/log/mysql/
sysvorOrt /var/log/mysql # ls -all
insgesamt 20
drwxr-x--- 2 mysql mysql 4096 20. Apr 17:56 .
drwxr-xr-x 11 root root 4096 4. Jun 14:28 ..
-rw-r----- 1 mysql mysql 8543 20. Jul 13:41 mysqld.err
sysvorOrt /var/log/mysql # less mysqld.err

Hier war jetzt der Fehler unknown variable ‚host=sysvorOrt“ aufgeführt

Portkonflikte prüfen: Stelle sicher, dass der MySQL-Port (standardmäßig 3306) nicht von einer anderen Anwendung auf dem System verwendet wird :

sysvorOrt /var/log/mysql # netstat -tuln
Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::443 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
udp 0 0 0.0.0.0:68 0.0.0.0:*
udp 0 0 192.168.2.30:123 0.0.0.0:*
udp 0 0 127.0.0.1:123 0.0.0.0:*
udp 0 0 0.0.0.0:123 0.0.0.0:*
udp6 0 0 :::57422 :::*
udp6 0 0 2003:d0:c732:4f4f:d:123 :::*
udp6 0 0 2003:d0:c713:e1e4:b:123 :::*
udp6 0 0 fe80::dbe4:82ff:121:123 :::*
udp6 0 0 ::1:123 :::*
udp6 0 0 :::123 :::*
udp6 0 0 :::546 :::*
sysvorOrt /var/log/mysql #

Das ist hier nicht der Fall …

sysvorOrt / # netstat -ano | grep 333
unix  3      [ ]         STREAM     VERBUNDEN     935333   
unix  3      [ ]         STREAM     VERBUNDEN     21333    
sysvorOrt / # mysql -u root -h 127.0.0.1 -p
Enter password: 
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1:3306' (111)