de:mysql:socket

MySQL: "Can't connect to /tmp/mysql.sock"

Problem: in LiveConfig wird unter Serververwaltung → Datenbank die Fehlermeldung Can't connect to local MySQL server through socket '/tmp/mysql.sock' angezeigt.

Ursache: der MySQL-Server erzeugt das Socket z.B. unter /var/run/mysqld/mysqld.sock, während der Client diesen unter /tmp/mysql.sock erwartet. Dieses Problem tritt häufig auf Systemen mit falscher Standardkonfiguration (z.B. Ubuntu 16) oder manuell installiertem MySQL-Paket auf.

Lösung: Der Socket-Pfad für den Server und für den Client muss auf den selben Wert eingestellt werden. Das Verzeichnis /var/run/mysqld/ ist aus Sicherheitsgründen gegenüber /tmp/ zu bevorzugen. In der MySQL-Konfiguration (i.d.R. /etc/mysql/my.cnf) gibt es jeweils einen Konfigurationsabschnitt für den Server (unter [server]) und den Client ([client]). Suchen Sie dort jeweils den Eintrag socket = … und passen diesen entsprechend an. Falls die my.cnf den Befehl !includedir /etc/mysql/conf.d/ enthält (i.d.R. ganz am Ende), dann wäre es die sauberste Lösung, wenn Sie eine Datei namens /etc/mysql/conf.d/client.cnf anlegen, und dort folgende zwei Zeilen eintragen:

client.cnf
[client]
socket = /var/run/mysqld/mysqld.sock

Starten Sie anschließend LiveConfig neu (damit es die aktualisierte MySQL-Client-Konfiguration verwendet). MySQL muss nicht neu gestartet werden, außer Sie ändern den Socket im [server]-Abschnitt.

de/mysql/socket.txt · Zuletzt geändert: 2016/09/05 11:16 von wikiadmin

Benutzer-Werkzeuge