In MySQL bezieht sich der Fehler 2022 darauf, dass der Socket während der Kompilierung nicht angegeben wird, sodass der Standardwert weiterhin verwendet wird, wenn der MySQL-Befehl eine Verbindung herstellt, da sich der Socket-Speicherort geändert hat und der MySQL-Befehl ihn nicht kennt Es tritt ein Fehler auf. Sie können die Datei „/etc/my.cnf“ ändern, um diesen Fehler zu beheben.
Die Betriebsumgebung dieses Tutorials: Windows10-System, MySQL8.0.22-Version, Dell G3-Computer.
Reproduzieren Sie zunächst das Problemphänomen. Die Fehlermeldung lautet wie folgt:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Fehleranalyse: Die offizielle Website bedeutet ungefähr, dass der Socket beim Kompilieren nicht angegeben wurde, also MySQL Der Befehl wird weiterhin verwendet, wenn der Standardwert (/tmp/mysql.sock) verbunden wird, da sich der Socket-Speicherort geändert hat und der MySQL-Befehl dies nicht weiß. Daher tritt dieser Fehler auf. Die Lösung besteht darin, dem MySQL-Befehl mitzuteilen, wo Unsere Socket-Datei ist. Ändern Sie die Datei /etc/my.cnf und fügen Sie den folgenden Inhalt hinzu:
[mysqld] socket=/data/mysql5.7.24/db_test/mysql.sock [client] socket=/data/mysql5.7.24/db_test/mysql.sock
Testen Sie nach dem Speichern, ob Sie sich normal anmelden können
mysql -uroot -p
Eine andere Lösung besteht darin, beim Anmelden den Socket anzugeben.
Die erste Art zu schreiben
mysql -uroot -p --socket=/data/mysql5.7.24/db_test/mysql.sockDie zweite Art zu schreiben
mysql -uroot -p -S /data/mysql5.7.24/db_test/mysql.sockEmpfohlenes Lernen:
MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWas ist der 2002-Fehler von MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!