it-swarm.com.de

/Var/run/mysqld/mysqld.sock '(2)' - /var/run/mysqld/mysqld.sock fehlt

Mein Problem begann damit, dass ich mich bei meiner MySQL-Installation nicht mehr als root anmelden konnte. Ich habe versucht, mysql ohne aktivierte Passwörter auszuführen, aber wann immer ich den Befehl ausgeführt habe

# mysqld_safe --skip-grant-tables &

Ich würde die Aufforderung niemals zurückbekommen. Ich habe versucht, diesen Anweisungen zu folgen , um das Kennwort wiederherzustellen .

Der Bildschirm sieht einfach so aus:

[email protected]:/usr/bin# mysqld_safe --skip-grant-tables
120816 11:40:53 mysqld_safe Logging to syslog.
120816 11:40:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

und ich bekomme keine Eingabeaufforderung zum Eingeben der SQL-Befehle, um das Kennwort zurückzusetzen.

Wenn ich es durch Drücken von töte CTRL + CIch erhalte die folgende Meldung:

error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'

Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

Wenn ich den Befehl erneut versuche und ihn lange genug lasse, erhalte ich die folgenden Meldungen:

[email protected]:/run/mysqld# 120816 13:15:02 mysqld_safe Logging to syslog.
120816 13:15:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120816 13:16:42 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

[1]+  Done                    mysqld_safe --skip-grant-tables
[email protected]:/run/mysqld#

Aber wenn ich dann versuche, mich als root anzumelden:

# mysql -u root

Ich erhalte folgende Fehlermeldung:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Ich habe es überprüft und /var/run/mysqld/mysqld.sock Datei existiert nicht. Der Ordner tut es, aber nicht die Datei.

Ich weiß auch nicht, ob das hilft oder nicht, aber ich habe find / -name mysqld ausgeführt und es kam mit:

/var/run/mysqld - folder
/usr/sbin/mysqld - file
/run/mysqld - folder

Ich bin neu in Linux und MySQL, daher weiß ich nicht, ob dies normal ist oder nicht. Aber ich füge diese Informationen hinzu, nur für den Fall, dass es hilft.

Endlich habe ich mich entschlossen, mysql zu deinstallieren und neu zu installieren.

apt-get remove mysql-server
apt-get remove mysql-client
apt-get remove mysql-common
apt-get remove phpmyadmin

Nach dem erneuten Installieren aller Pakete in derselben Reihenfolge wie oben, während der Installation von phpmyadmin, wurde derselbe Fehler angezeigt:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Also habe ich nochmal versucht zu deinstallieren/neu zu installieren. Dieses Mal habe ich nach der Deinstallation der Pakete alle MySQL-Dateien und -Verzeichnisse an ihren jeweiligen Speicherorten manuell in mysql.bad umbenannt.

/var/lib/mysql 
/var/lib/mysql/mysql
/var/log/mysql
/usr/lib/Perl5/DBD/mysql
/usr/lib/Perl5/auto/DBD/mysql
/usr/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/usr/share/dbconfig-common/internal/mysql
/etc/init.d/mysql
/etc/apparmor.d/abstractions/mysql
/etc/mysql

Dann habe ich versucht, mysql-server und mysql-client erneut zu installieren. Aber ich habe bemerkt, dass es mich nicht zur Eingabe eines Passworts auffordert. Soll es nicht nach einem Administratorkennwort fragen?

262
dot

So finden Sie alle Socket-Dateien auf Ihrem System:

Sudo find / -type s

Mein Mysql-Serversystem hatte den Socket bei /var/lib/mysql/mysql.sock geöffnet.

Wenn Sie herausgefunden haben, wo der Socket geöffnet wird, fügen Sie der Datei /etc/my.cnf die Zeile mit dem Pfad zur Socket-Datei hinzu oder bearbeiten Sie sie:

socket=/var/lib/mysql/mysql.sock

Manchmal gibt das Systemstart-Skript, mit dem die Befehlszeile ausgeführt wurde, ein Flag --socket=path an. Dieses Flag könnte den Speicherort von my.cnf überschreiben und dazu führen, dass kein Socket gefunden wird, in dem die Datei my.cnf angegeben ist. Wenn Sie dann versuchen, den Befehlszeilen-Client von mysql auszuführen, wird my.cnf gelesen, um den Socket zu finden. Er wird jedoch nicht gefunden, da er von der Stelle abweicht, auf der der Server einen erstellt hat. Wenn Sie sich nicht interessieren, wo sich der Socket befindet, sollte es einfach funktionieren, die my.cnf entsprechend zu ändern. 

Stoppen Sie dann den mysqld-Prozess. Wie Sie dies tun, hängt vom System ab.

Wenn Sie im Linux-System ein Superbenutzer sind, versuchen Sie eine der folgenden Methoden, wenn Sie nicht wissen, welche Methode Ihr MySQL-Setup verwendet:

  • service mysqld stop
  • /etc/init.d/mysqld stop
  • mysqladmin -u root -p shutdown
  • Einige Systeme sind nicht so eingerichtet, dass sie eine elegante Methode zum Beenden von mysql haben (oder aus irgendeinem Grund antwortet mysql nicht), und Sie können erzwingen, dass mysql mit einer der folgenden Optionen beendet wird:
    • Ein Schritt: pkill -9 mysqld
    • Zwei Schritte (am wenigsten bevorzugt):
      • Finden Sie die Prozess-ID von mysql entweder mit pgrep mysql oder ps aux | grep mysql | grep -v grep
      • Angenommen, die Prozess-ID lautet 4969, terminiert mit kill -9 4969.

Nachdem Sie dies getan haben, möchten Sie möglicherweise nach einer PID-Datei in /var/run/mysqld/ suchen und diese löschen

Stellen Sie sicher, dass die Berechtigungen für Ihr Socket so sind, dass der Benutzer, der von mysqld ausgeführt wird, lesen und schreiben kann. Ein einfacher Test ist, es für das vollständige Lesen/Schreiben zu öffnen und zu sehen, ob es noch funktioniert:

chmod 777 /var/run/mysqld/mysqld.sock

Wenn das Problem dadurch behoben wird, können Sie basierend auf Ihren Sicherheitseinstellungen die Berechtigungen und den Besitz des Sockets nach Bedarf anpassen. 

Das Verzeichnis, in dem sich der Socket befindet, muss auch für den Benutzer erreichbar sein, der den Prozess mysqld ausführt.

159
Ray

Versuchen Sie diesen Befehl,

Sudo service mysql start
199
Joe Cheng

Dieser Fehler tritt aufgrund mehrerer Installationen von mysql auf. Führen Sie den Befehl aus: 

ps -A|grep mysql

Beenden Sie den Vorgang, indem Sie Folgendes verwenden:

Sudo pkill mysql

und dann den Befehl ausführen:

ps -A|grep mysqld

Beenden Sie diesen Vorgang auch, indem Sie Folgendes ausführen:

Sudo pkill mysqld

Jetzt sind Sie vollständig eingestellt und führen Sie die folgenden Befehle aus:

service mysql restart
mysql -u root -p

Habe wieder sehr gut MySQL

97
Hammad Raza

Die Lösung ist viel einfacher. 

  1. Zuerst müssen Sie (in Terminal mit "Sudo find/-type s") suchen, wo sich Ihre mysql.sock-Datei befindet. In meinem Fall war es in /opt/lampp/var/mysql/mysql.sock 
  2. Starten Sie das Terminal und geben Sie Sudo Nautilus aus.
    Dies startet Ihren Dateien-Manager mit Superuser-Berechtigungen 
  3. Navigieren Sie von Nautilus zu dem Ort, an dem sich Ihre mysql.sock-Datei befindet 
  4. Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie Make Link.
  5. Benennen Sie die Link-Datei in mysqld.sock um, klicken Sie dann mit der rechten Maustaste auf die Datei und Cut
  6. Gehen Sie zu /var/run und erstellen Sie einen Ordner mit dem Namen mysqld und geben Sie ihn ein
  7. Klicken Sie nun mit der rechten Maustaste und Paste der Link-Datei
  8. Voila! Sie haben jetzt eine mysqld.sock-Datei unter /var/run/mysqld/mysqld.sock :)
35
Ioan Stef

Sie müssen MySQL Service nur nach der Installation starten:

Für Ubuntu:

Sudo service mysql start;

Für CentOS oder RHEL:

Sudo service mysqld start;
22
Pratik Patil

Okay, kopieren Sie einfach diese Codes und fügen Sie sie ein: Dies sollte im Terminal innerhalb eines Servers erfolgen, wenn Ihre mysql-Datenbank nicht ordnungsgemäß installiert ist und wenn diese Fehlermeldung angezeigt wird: 'Verbindung zum lokalen MySQL-Server über Socket kann nicht hergestellt werden'/var/run/mysqld/mysqld.sock '(2)'.

Stoppen Sie MySql

Sudo /etc/init.d/mysqld stop

Neustart oder Start

Sudo /etc/init.d/mysqld restart or Sudo /etc/init.d/mysqld start

Machen Sie einen solchen Link und geben Sie ihn dem System

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

Führen Sie eine sichere Installation durch, die den gesamten Prozess zum Konfigurieren von mysql leitet

/usr/bin/mysql_secure_installation
11
coolcool1994

Unter Ubuntu mit MySQL 5.6 und 5.7 gibt es einen Fehler, bei dem var/run/mysqld/ verschwindet, wenn der MySQL-Dienst angehalten oder neu gestartet wird. Dies verhindert, dass MySQL überhaupt ausgeführt wird. Ich habe diese Problemumgehung gefunden, die nicht perfekt ist, aber zumindest nach dem Stoppen/Neustarten ausgeführt wird:

mkdir /var/run/mysqld/
chown mysqld /var/run/mysqld/
10
motorbaby

Ich hatte denselben Fehler und stellte fest, dass es sich um ein Upgrade von Paketen handelt. Nach dem Neustart meines Systems habe ich den Fehler behoben.

Ich denke aufgrund von SQL-Bibliotheken/Paketen, dass der Fehler aufgetreten ist. Versuchen Sie es also, wenn Sie ein Upgrade durchführen :)

9

Es gibt viele Gründe für dieses Problem, aber manchmal starten Sie einfach den Mysql-Server neu, um das Problem zu beheben. 

Sudo service mysql restart
7
Leopathu

* Fehler: 'Verbindung zum lokalen MySQL-Server über Socket kann nicht hergestellt werden' /var/run/mysqld/mysqld.sock '(2)'

Lösungen

schließlich deinstalliere und installiere mysql neu. **

  • Sudo apt-get entfernen MySQL-Server
  • Sudo apt-get entfernen MySQL-Client
  • Sudo apt-get entfernen mysql-common
  • Sudo apt-get phpmyadmin entfernen

dann erneut von installieren 

  • Sudo apt-get install mysql-server-5.6

Nach diesem Vorgang werden 164 MB zusätzlicher Speicherplatz verwendet.

  • Wollen Sie fortfahren? [Y/n] Y Drücken Sie für vollständige Installationen die Taste YES

.............

  • Zum Schluss bekommst du diese Zeilen ....

    Libhtml-template-Perl (2.95-1) einrichten ...

    Einrichten von mysql-common-5.6 (5.6.16-1 ~ exp1) ... Verarbeitungstrigger für libc-bin (2.19-0ubuntu6) Verarbeitungstrigger für ureadahead (0.100.0-16) ...

  • Und dann

    root @ ubuntu1404: ~ # mysql -u root -p (für jedes Passwort muss zuerst u verwendet werden)

  • Passwort eingeben:

  • Hinweis: Das eingegebene Kennwort sollte mit der Installationszeit des Kennworts von mysql identisch sein (wie .root, system, admin, rahul usw.).

    Dann tippen Sie

  • USE rahul_db (Datenbankname);

Vielen Dank.**

5

Die Antwort des Benutzerladeschritts funktionierte für mich ..__ Manchmal muss die Datei in /etc/mysql/my.cnf Zeile zum Client hinzufügen bearbeitet werden

[client]
password = your_mysql_root_password
port  = 3306
Host  = 127.0.0.1
socket  = /var/lib/mysql/mysql.sock
5
user3002884

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

im /etc/my.cnf füge diese Zeilen hinzu:

[client]
socket=/var/lib/mysql/mysql.sock <= this path should be also same as is[mysqld]

Und starte den Dienst neu mit: service mysql restart

das hat bei mir funktioniert

4
karan

Verwendung von XAMPP auf Ubuntu:

  1. Erstellen Sie einen Ordner mit dem Namen mysqld in/var/run . Dies erreichen Sie mit dem Befehl Sudo mkdir /var/run/mysqld.

  2. Erstellen Sie eine symbolische Verknüpfung zu der Datei mysql.sock , die der XAMPP - Server erstellt, wenn er gestartet wird. Sie können den Befehl Sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock verwenden.

Hinweis: Die Datei mysql.sock wird erstellt, wenn der Server gestartet und beim Stoppen des Servers entfernt wird. In manchen Fällen scheint die von Ihnen erstellte Verknüpfung als unterbrochen zu sein, sie sollte jedoch so lange funktionieren, wie Sie es getan haben Der Server wurde entweder mit Sudo /opt/lampp/lampp start oder auf andere Weise gestartet.

  1. Starten Sie den Server, falls er noch nicht läuft, und führen Sie das Programm erneut aus.

Viel Glück! Ich hoffe, Sie kommen diesmal davon.

3
Robert Odoch

Vielleicht jemand mit diesem Problem konfrontiert. Ich verwende Mysql Workbench on Ubuntu 14 und habe diesen Fehler erhalten.

mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect

Suchen Sie Ihre Socket-Datei, indem Sie Sudo find / -type s ausführen. In meinem Fall war dies /run/mysqld/mysqld.sock

Also habe ich gerade einen Link zu dieser Datei im tmp-Verzeichnis erstellt.

Sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
3
Bilal

Das wurde schon ein paar Mal erwähnt, aber das funktionierte sofort für mich: 

dienst MySQL Neustart

3
Jack BeNimble

sie finden mysqld.sock in /var/run/mysqld, wenn Sie mysql-server bereits installiert haben. Sudo apt-get install mysql-server

3
spencer

Ich hatte dieses Problem gerade auf Ubuntu 14.10

Es stellte sich zwar heraus, dass mysql-server nicht mehr installiert war (irgendwie wurde es entfernt), aber ich konnte es nicht einfach installieren, da es einige defekte Pakete und Abhängigkeiten/Konflikte gab.

Am Ende musste ich mysql neu installieren

Sudo apt-get remove mysql-client
Sudo apt-get install mysql-server
2
Dew
2
Pranay Aryal

In meinem Fall wurden zwei mysqld-Prozesse ausgeführt, in denen ...__

2
amindri

Ich denke, Ihr MySQL-Server wurde nicht gestartet. Starten Sie den Server daher mit einem der folgenden Befehle.

#services mysql start

oder

#/etc/init.d/mysql start
2
Susampath

Wenn auf Ihrem System viele Datenbanken und Tabellen vorhanden sind und innodb_file_per_table in my.cnf festgelegt ist, sind Ihrem geöffneten Server/Server möglicherweise die geöffneten Objekte/Dateien (bzw. die Deskriptoren für diese Objekte) eine neue max nummer mit

open-files-limit = 2048

und starten Sie mysql ..__ neu. Dieser Ansatz kann hilfreich sein, wenn der Socket überhaupt nicht erstellt wird, aber dies ist möglicherweise nicht das eigentliche Problem, es liegt ein zugrunde liegendes Problem vor.

2
knb

Ich habe MySQL auf einer virtuellen Maschine in Ubuntu ausgeführt. Was passiert war, als ich meinen Host und die VM neu gestartet hatte, hatte sich die IP geändert. Ich hatte Mysql so konfiguriert, dass es auf IP 192.168.0.5 läuft, und jetzt aufgrund der dynamischen Zuweisung von IP war meine neue IP 192.168.0.8

Wenn Sie das gleiche Problem haben, überprüfen Sie Ihre IP-Adresse mit dem Befehl ifconfig.

Überprüfen Sie Ihre MySQL-Bindung mit dem Befehl cat /etc/mysql/my.cnf | grep bind-address.

Wenn beide IP-Adressen identisch sind, installieren Sie Ihren MySQL-Server neu

Wenn nicht, ändern Sie Ihre IP-Adresse in /etc/network/interfaces mit nano, vi, vim oder irgendetwas, das Sie bevorzugen.

Ich bevorzuge Sudo nano /etc/network/interfaces

und geben Sie folgendes ein

auto eth0
iface eth0 inet static
address 192.168.0.5
netmask 255.255.255.0

Speichern Sie die Interface-Datei, starten Sie das Interface neu und Sudo ifdown eth0 && Sudo ifup eth0 ersetzen Sie "eth0" durch Ihre Netzwerkschnittstelle

Starten Sie MySQL Sudo service mysql stop gefolgt von Sudo service mysql start neu.

Wenn Sie das gleiche Problem haben wie ich, sind Sie bereit zu gehen!

1
Aman Chawla

Das Ändern der Host in 127.0.0.1 hat für mich funktioniert.

Bearbeiten Sie die Datei in /etc/mysql/my.cnf und fügen Sie dem Abschnitt die unten angegebene Zeile hinzu: client

[client]
port  = 3306
Host  = 127.0.0.1
socket  = /var/lib/mysql/mysql.sock

Nachdem Sie damit fertig sind. Führen Sie den folgenden Befehl aus.

Sudo service mysql start
1
Dulith De Costa

Ich hatte ein ähnliches Problem bei einem CentOS VPS. Wenn MySQL nach dem Start nicht mehr startet oder ständig abstürzt, führen Sie die folgenden Schritte aus:

1) Finden Sie meine.cnf-Datei (meine befand sich in /etc/my.cnf) und fügen Sie die Zeile hinzu:

innodb_force_recovery = X

ersetzen von X durch eine Zahl von 1 bis 6, beginnend mit 1 und dann inkrementieren, wenn MySQL nicht startet. Wenn Sie die Werte 4, 5 oder 6 einstellen, können Sie Ihre Daten löschen. Lesen Sie daher vorher http://dev.mysql.com/doc/refman/5.7/de/forcing-innodb-recovery.html .

2) Starten Sie den MySQL-Dienst neu. Nur SELECT wird ausgeführt und das ist zu diesem Zeitpunkt normal.

3) Legen Sie alle Ihre Datenbanken/Schemas einzeln mit mysqldump ab. Komprimieren Sie die Dumps nicht, da Sie sie später sowieso dekomprimieren müssen.

4) Verschieben (oder löschen!) Nur die Verzeichnisse von bd innerhalb von/var/lib/mysql, wobei die einzelnen Dateien im Stammverzeichnis erhalten bleiben.

5) Stoppen Sie MySQL und kommentieren Sie die in 1) hinzugefügte Zeile aus. Starten Sie MySQL.

6) Wiederherstellen aller in 3) abgelegten BDs.

Viel Glück!

1
Heitor

Stellen Sie sicher, dass der Pfad für die nicht zugreifbare Socket-Datei mit "/var/run/mysqld/mysqld.sock" identisch ist, andernfalls ändern Sie den Pfad wie den Ihren. Stoppen Sie den mysqld

$ Sudo /etc/init.d/mysqld stop

Wenn der Prozess noch läuft;

$ Sudo pkill -9 mysqld

Entfernen Sie das mysql-Verzeichnis, in dem der Socket erstellt werden soll. Für mich durfte es nicht entfernt werden, also musste ich gewaltsam entfernen.

$ Sudo mkdir -p /var/run/mysqld

Legen Sie den Eigentümer auf das Verzeichnis fest

$ Sudo chown mysql:mysql /var/run/mysqld

Starten Sie MySQL

$ Sudo /etc/init.d/mysql start

Der Versuch, MySQL zu verbinden

$ Sudo mysql -u dbuser -p
1
Sadee

Ich würde auch die MySQL-Konfiguration überprüfen. Ich hatte ein Problem mit meinem eigenen Server, aber ich war etwas zu voreilig und habe den innodb_buffer_pool_size für meinen Rechner falsch konfiguriert.

innodb_buffer_pool_size = 4096M

Normalerweise läuft es gut bis 2048, aber ich denke, ich habe nicht den nötigen Speicher, um 4 Gigs zu unterstützen.

Ich kann mir vorstellen, dass dies auch bei anderen Konfigurationseinstellungen von mysql passieren kann.

1
Greg

Manchmal ist es einfach so, dass Sie nicht genügend Speicherplatz auf dem Server haben, nur etwas Speicherplatz freigeben (wie das Löschen von Protokolldateien) und mysql starten:

/etc/init.d/mysql start

0
Prashant

Ich verwende XAMPP auf Ubuntu. Ich habe diesen Fehler beim Verbinden der Datenbank über das Terminal gefunden. Ich löse es ohne Konfiguration, da der Standard-Socket-Dateipfad in XAMPP wie folgt in "/opt/lampp/etc/my.cnf" geschrieben ist:

[client]
#password   = your_password
port        = 3306
socket      = /opt/lampp/var/mysql/mysql.sock

sie können jetzt eine Verbindung herstellen, indem Sie diesen Socket-Pfadparameter mit dem Befehl mysql am Terminal eingeben:

mysql -u root --socket /opt/lampp/var/mysql/mysql.sock

und es ist ohne Konfiguration erledigt.

Wenn Sie nicht jedes Mal Socketpfad eingeben möchten, ändern Sie den Standardpfad in my.cnf um "/var/run/mysqld/mysqld.sock". Geben Sie Berechtigungen ein und starten Sie den Mysql-Server erneut.

0
Ani

Erstellen Sie zuerst das Verzeichnis/var/run/mysqld

mit dem Befehl:

mkdir -p /var/run/mysqld

fügen Sie dann dem Verzeichnis Rechte hinzu

chown mysql:mysql /var/run/mysqld

nach diesem Versuch

mysql -u root
0
Ingo

In meinem Fall waren die Bindungsadressen in /etc/mysql/my.cnf das Problem, dann:

nano /etc/mysql/my.cnf

bindungsadressen suchen und spezifische mit der Host-IP entfernen (nicht die 127.0.0.1)

0
barresoft

Ich hatte diese Art von Problem, wenn ich das Droplet auf Digitalocean verkleinere. Ich hatte die MySQL-Version aufgerüstet und arbeitet für mich. Hier ist das Tutorial, was ich angewendet habe - https://serverpilot.io/community/articles/how-to-upgrade-mysql-5.5-to-5.6-on-ubuntu-14.04.html

0
Sam

Versuchen Sie Folgendes an einer Terminal-Eingabeaufforderung:

Sudo mysql

Sobald Sie sich angemeldet haben, können Sie einen neuen Benutzer erstellen und Berechtigungen für die bestimmte Datenbank erteilen, auf die Sie zugreifen möchten. 

Mysql 5.7 hat einige Änderungen vorgenommen und verwendet standardmäßig das auth_socket-Plugin (im Gegensatz zu mysql_native_password) für root, um das Konto vor gehacktem Zugriff zu schützen. Sie können dies überschreiben, indem Sie das Plugin-Feld für root festlegen. Wenn Sie jedoch keinen triftigen Grund haben, sollten Sie den Schutz wahrscheinlich nicht umgehen. Besonders wenn Sudo mysql ohnehin einfacher ist als mysql -u root -p

Diese Informationen habe ich - von allen Orten - von einer Raspberry Pi help-Seite erfahren. Arbeitete wie ein Zauber, nachdem Lubuntu 18.04 mich ein paar Stunden lang geärgert hatte.

0
JohanTux

Ich hatte genau das gleiche Problem. Nach einer Stunde fand ich einen Weg, dies zu korrigieren, ohne mysql-common, mysql-client, mysql-server neu zu installieren.

Gehen Sie zunächst zu "/ var/run/mysqld". Sie werden feststellen, dass das mysql.sock nicht existiert. Entfernen Sie einfach das gesamte mysqld-Verzeichnis, erstellen Sie es neu und geben Sie ihm die erforderlichen Berechtigungen.

# rm -rf /var/run/mysqld && mkdir /var/run/mysqld && chown mysql /var/run/mysqld/

Jetzt beenden Sie den MySQL-Prozess in seiner Gesamtheit. Möglicherweise wird beim Ausführen des Befehls "/etc/init.d/mysql status" "Warten auf die Bereinigung der Seite" angezeigt, auch wenn der Dienst beendet wurde.

Verwenden Sie, um den Dienst vollständig zu schließen

# pkill -9 mysqld

Sobald der Prozess beendet ist, versuchen Sie es erneut mit

# /etc/init.d/mysql start

Und Sie werden sehen, dass es gut funktioniert! Und es wird auch kein Problem geben, es zu stoppen.

0
xscorp7

Die mysql.sock-Datei wird beim Start von MariaDB erstellt und beim Herunterfahren von MariaDB entfernt. Es wird nicht existieren, wenn MariaDB nicht ausgeführt wird. Vielleicht haben Sie MariaDB nicht installiert. Sie könnten der folgenden Anleitung folgen: https://www.linode.com/docs/databases/mariadb/install-mariadb-on-centos-7 BEST

0
jsina

Ich habe fast alle aufgelisteten Lösungen ausprobiert. Keine hat für mich funktioniert, bis ich den Computer neu gestartet habe und der Server erneut gestartet wurde, als ich den Befehl "service mysql restart" ausgab. 

0
SyCode

auf archlinux war ich mit diesem Fehler konfrontiert und das Problem bestand darin, dass der mysqld-Dienst nicht lief.

Ich konnte den mysql-service jedoch nicht mit systemctl start mysqld aktivieren, wie in der Archlinux-Dokumentation beschrieben. Ich denke, der Fehler war so etwas

mysqld.service wurde nicht gefunden

Ich musste zuerst das System neu starten.

Dann habe ich den Befehl erneut eingegeben (und systemctl enable mysqld eingegeben) und nun konnte mysql den erstellten mysql.sock finden.

0
Arch Linux Tux

Meine Lösung;

Ubuntu 18.04 (WSL)

/ etc/mysql/my.cnf

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

/etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306

Ich habe den Hafen gewechselt. Es hat für mich funktioniert. Sie können einen anderen Port schreiben. Beispiel 3355

0
omfaer