Einführung
Benutzer, die mit MySQL arbeiten, können den Fehler 'Verbindung zum lokalen MySQL-Server über Socket '/var/run/mysqld/mysqld.sock (2) nicht herstellen' erhalten beim Einloggen in die MySQL-Oberfläche. Dieses Problem tritt normalerweise auf, wenn MySQL nicht auf die mysqld.sock zugreifen kann socket-Datei.
In diesem Tutorial gehen wir auf die möglichen Ursachen für 'Verbindung zum lokalen MySQL-Server über Socket nicht möglich ein ' Fehler und zeigen Ihnen verschiedene Methoden zur Lösung dieses Problems.
Voraussetzungen
- Ein System, auf dem Ubuntu 20.04 ausgeführt wird
- Ein Benutzerkonto mit sudo-Berechtigungen
- Zugriff auf das Terminalfenster/die Befehlszeile
- Eine installierte und einsatzbereite MySQL-Kopie (in unserem Leitfaden zur Installation von MySQL unter Ubuntu 20.04 erfahren Sie, wie Sie sie installieren)
Behebung des Fehlers „Verbindung zum lokalen MySQL-Server über Socket „/var/run/mysqld/mysqld.sock“ (2) nicht möglich“
Es gibt mehrere Möglichkeiten, das Problem „Kann keine Verbindung zum lokalen MySQL-Server über Socket „/var/run/mysqld/mysqld.sock (2) herstellen“ zu lösen Error. Wenn eine Lösung nicht funktioniert, gehen Sie in der Liste nach unten, bis Sie die gefunden haben, die das Problem behebt.
Methode 1:Überprüfen Sie den MySQL-Dienst
1. Überprüfen Sie den Status des MySQL-Dienstes mit:
sudo systemctl status mysql
2. Wenn der Dienst nicht läuft, starten Sie ihn neu mit:
sudo systemctl start mysql
3. Um dieses Problem zu vermeiden, stellen Sie den MySQL-Dienst so ein, dass er beim Booten automatisch gestartet wird:
sudo systemctl enable mysql
Methode 2:Überprüfen Sie den Speicherort von mysqld.sock
Die 'Verbindung zum lokalen MySQL-Server über Socket '/var/run/mysqld/mysqld.sock' (2) nicht möglich' Fehler tritt auch auf, wenn MySQL die mysql.sock nicht finden kann socket-Datei.
1. Finden Sie die aktuelle mysqld.sock Ort, indem Sie find
verwenden Befehl, um alle Socket-Dateien auf Ihrem System aufzulisten:
sudo find / -type s
2. Öffnen Sie die MySQL-Konfigurationsdatei in einem Texteditor Ihrer Wahl. In diesem Beispiel verwenden wir nano :
sudo nano /etc/mysql/my.cnf
3. Fügen Sie dann die folgenden Zeilen am Ende der MySQL-Konfigurationsdatei hinzu:
[mysqld]
socket=[path to mysqld.sock]
[client]
socket=[path to mysqld.sock]
Wo:
[path to mysqld.sock]
:Pfad zur mysqld.sock socket-Datei, die Sie in Schritt 1 gefunden haben .
Eine andere Methode besteht darin, einen Symlink vom Speicherort von mysqld.sock zu erstellen nach /var/run/mysqld Verzeichnis:
ln -s [path to mysqld.sock] /var/run/mysqld/mysqld.sock
4. Drücken Sie Strg+X um die Konfigurationsdatei zu schließen und geben Sie Y ein und drücken Sie Enter um die vorgenommenen Änderungen zu speichern.
4. Starten Sie abschließend den MySQL-Dienst neu:
sudo systemctl restart mysql
Methode 3:Überprüfen Sie die MySQL-Ordnerberechtigung
Eine weitere mögliche Ursache könnte sein, dass der MySQL-Dienst nicht auf /var/run/mysqld zugreifen kann Verzeichnis aufgrund von Berechtigungsbeschränkungen:
1. Um dieses Problem zu beheben, ändern Sie die Berechtigungseinstellungen für mysqld Verzeichnis mit:
sudo chmod -R 755 /var/run/mysqld
Setzen Sie die Berechtigung auf 755
erlaubt dem Root-Benutzer das Verzeichnis zu lesen, zu schreiben und auszuführen, während andere Benutzer nur lesen und ausführen können.
2. Starten Sie den MySQL-Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl restart mysql
Methode 4:Auf mehrere MySQL-Instanzen prüfen
Der Fehler tritt auch auf, wenn mehrere Instanzen von MySQL gleichzeitig laufen.
1. Um alle Instanzen von MySQL aufzulisten, verwenden Sie:
ps -A|grep mysqld
2. Wenn mehrere MySQL-Instanzen laufen, beenden Sie diese mit:
sudo pkill mysqld
3. Starten Sie den MySQL-Dienst neu, um eine einzelne Instanz von MySQL zu starten:
sudo systemctl restart mysql