de-vraag
  • Ερωτήσεις
  • Ετικέτες
  • Χρήστες
Ειδοποιήσεις
Ανταμοιβές
Εγγραφή
Μόλις εγγραφείτε, θα ενημερωθείτε για τις απαντήσεις και τα σχόλια στις ερωτήσεις σας.
Συνδεθείτε
Αν έχετε ήδη λογαριασμό, συνδεθείτε για να ελέγξετε τις νέες ειδοποιήσεις.
Θα υπάρξουν ανταμοιβές για πρόσθετες ερωτήσεις, απαντήσεις και σχόλια.
Περισσότερα
Πηγή
Επεξεργασία
 dot
dot
Ερώτηση

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

My problem started off with me not being able to log in as root any more on my mysql install. I was attempting to run mysql without passwords turned on... but whenever I ran the command

# mysqld_safe --skip-grant-tables &

I would never get the prompt back. I was trying to follow these instructions to recover the password.

The screen just looks like this:

[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

and I don't get a prompt to start typing the SQL commands to reset the password.

When I kill it by pressing CTRL + C, I get the following message:

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!

If I retry the command and leave it long enough, I do get the following series of messages:

[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#

But then if I try to log in as root by doing:

# mysql -u root

I get the following error message:

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

I checked and /var/run/mysqld/mysqld.sock file doesn't not exist. The folder does, but not the file.

Also, I dunno if this helps or not, but I ran find / -name mysqld and it came up with:

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

I'm new to Linux and MySQL, so I don't know if this is normal or not. Αλλά συμπεριλαμβάνω αυτές τις πληροφορίες σε περίπτωση που βοηθήσουν.

Επιτέλους αποφάσισα να απεγκαταστήσω και να επανεγκαταστήσω τη mysql.

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

Μετά την επανεγκατάσταση όλων των πακέτων ξανά με την ίδια σειρά όπως παραπάνω, κατά τη διάρκεια της εγκατάστασης του phpmyadmin, πήρα το ίδιο σφάλμα:

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

Έτσι προσπάθησα ξανά να κάνω απεγκατάσταση/επανεγκατάσταση. Αυτή τη φορά, αφού απεγκατέστησα τα πακέτα, μετονόμασα επίσης χειροκίνητα όλα τα αρχεία και τους καταλόγους mysql σε mysql.bad στις αντίστοιχες θέσεις τους.

/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

Στη συνέχεια προσπάθησα να επανεγκαταστήσω ξανά τα πακέτα mysql-server και mysql-client. Αλλά παρατήρησα ότι δεν μου ζητάει κωδικό πρόσβασης. Δεν υποτίθεται ότι πρέπει να μου ζητήσει κωδικό πρόσβασης διαχειριστή;

284 2012-08-16T15:34:18+00:00 6
Valeriu
Valeriu 51193
Επεξεργασμένη ερώτηση Κάνε Ιούνιος 2022 в 12:20
 motorbaby
motorbaby
Επεξεργασμένη ερώτηση Κάνε Σεπτέμβριος 2018 в 3:49
Προγραμματισμός
ubuntu
linux
mysql
Δημοφιλή βίντεο
POPSQL: Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)
POPSQL: Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)
πριν 7 μήνες
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
πριν 1 χρόνος
Mysql error - Can't connect to local MySQL server through socket mysqld.sock
Mysql error - Can't connect to local MySQL server through socket mysqld.sock
πριν 6 χρόνια
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
πριν 4 χρόνια
ERROR 2002 (HY000): Can't connect to local MySQL socket'/var/run/mysqld/mysqld.sock'(2) Ubuntu
ERROR 2002 (HY000): Can't connect to local MySQL socket'/var/run/mysqld/mysqld.sock'(2) Ubuntu
πριν 1 χρόνος
ERROR2002(HY000):Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'(2)
ERROR2002(HY000):Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'(2)
πριν 1 χρόνος
ERROR2002HY000Can't connect to local MySQL server through socket ' var run mysqld mysqld sock'2
ERROR2002HY000Can't connect to local MySQL server through socket ' var run mysqld mysqld sock'2
πριν 1 χρόνος
ERROR 2002 (HY000): Can't connect to local MySQL srever through socket '/var/lib/mysql/mysql.sock'
ERROR 2002 (HY000): Can't connect to local MySQL srever through socket '/var/lib/mysql/mysql.sock'
πριν 4 χρόνια
MySQL - ERROR 2002 (HY000): Can't connect to local MySQL server through socket | BackTrack 5
MySQL - ERROR 2002 (HY000): Can't connect to local MySQL server through socket | BackTrack 5
πριν 10 χρόνια
MySQL : error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2
MySQL : error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2
πριν 5 μήνες
mysql-ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/data/com.termux
mysql-ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/data/com.termux
πριν 1 χρόνος
How To Fix ERROR 2002 (HY000): Can't connect to local MySQL server through socket
How To Fix ERROR 2002 (HY000): Can't connect to local MySQL server through socket
πριν 3 χρόνια
02 Download and Install PopSQL(With Error Handling) - Version: 2 (Year 2021)
02 Download and Install PopSQL(With Error Handling) - Version: 2 (Year 2021)
πριν 10 μήνες
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file
πριν 10 μήνες
2002 - Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' on Navicat
2002 - Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' on Navicat
πριν 2 χρόνια
« Προηγούμενο
Επόμενο »
Αυτή η ερώτηση έχει 1 απάντηση στα αγγλικά, για να τις διαβάσετε συνδεθείτε στο λογαριασμό σας.
Joe Cheng
Joe Cheng
Κάνε Μάιος 2014 в 3:18
2014-05-06T03:18:55+00:00
Περισσότερα
Πηγή
Επεξεργασία
#16970796

Δοκιμάστε αυτή την εντολή,

sudo service mysql start
Valeriu
Valeriu 51193
Επεξεργασμένη απάντηση Κάνε Ιούνιος 2022 в 12:21
224
0
Λύση / Απάντηση
 Ray
Ray
Κάνε Αύγουστος 2012 в 3:40
2012-08-16T15:40:02+00:00
Περισσότερα
Πηγή
Επεξεργασία
#16970785

Για να βρείτε όλα τα αρχεία υποδοχών στο σύστημά σας εκτελέστε:

sudo find / -type s

Το σύστημα του διακομιστή Mysql είχε την υποδοχή ανοιχτή στο /var/lib/mysql/mysql.sock.

Μόλις βρείτε πού ανοίγει η υποδοχή, προσθέστε ή επεξεργαστείτε τη γραμμή στο αρχείο /etc/my.cnf με τη διαδρομή προς το αρχείο socket:

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

Μερικές φορές το σενάριο εκκίνησης του συστήματος που ξεκίνησε το εκτελέσιμο πρόγραμμα της γραμμής εντολών καθορίζει μια σημαία --socket=path. Αυτή η σημαία θα μπορούσε να παρακάμψει τη θέση του αρχείου my.cnf και αυτό θα είχε ως αποτέλεσμα να μην βρεθεί μια υποδοχή εκεί που υποδεικνύει το αρχείο my.cnf ότι θα έπρεπε να βρίσκεται. Στη συνέχεια, όταν προσπαθήσετε να εκτελέσετε τον πελάτη της γραμμής εντολών mysql, θα διαβάσει το αρχείο my.cnf για να βρει την υποδοχή, αλλά δεν θα τη βρει, αφού αποκλίνει από το σημείο όπου ο διακομιστής τη δημιούργησε. Οπότε, αν δεν σας ενδιαφέρει πού βρίσκεται το socket, απλά αλλάζοντας το my.cnf ώστε να ταιριάζει θα πρέπει να δουλέψει.

Στη συνέχεια, σταματήστε τη διαδικασία mysqld. Ο τρόπος με τον οποίο το κάνετε αυτό θα διαφέρει ανάλογα με το σύστημα.

Αν είστε super user στο σύστημα linux, δοκιμάστε ένα από τα παρακάτω, αν δεν γνωρίζετε τη συγκεκριμένη μέθοδο που χρησιμοποιεί η εγκατάσταση της Mysql σας:

  • service mysqld stop
  • /etc/init.d/mysqld stop
  • mysqladmin -u root -p shutdown
  • Ορισμένα συστήματα δεν έχουν ρυθμιστεί ώστε να έχουν έναν κομψό τρόπο για να σταματήσουν τη mysql (ή για κάποιο λόγο η mysql δεν ανταποκρίνεται) και μπορείτε να τερματίσετε τη mysql με τη χρήση ενός από τα δύο:
    • Ένα βήμα: pkill -9 mysqld
    • Δύο βήματα (το λιγότερο προτιμώμενο):
      • Βρείτε το αναγνωριστικό διεργασίας της mysql είτε με pgrep mysql είτε με ps aux | grep mysql | grep -v grep.
      • Υποθέτοντας ότι το αναγνωριστικό της διεργασίας είναι 4969 τερματίστε με kill -9 4969

Αφού το κάνετε αυτό, ίσως θελήσετε να αναζητήσετε ένα αρχείο pid στο /var/run/mysqld/ και να το διαγράψετε

Βεβαιωθείτε ότι τα δικαιώματα στο socket σας είναι τέτοια ώστε ο χρήστης mysqld που τρέχει ως mysqld να μπορεί να διαβάσει/γράψει σε αυτό. Μια εύκολη δοκιμή είναι να το ανοίξετε σε πλήρη ανάγνωση/εγγραφή και να δείτε αν εξακολουθεί να λειτουργεί:

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

Αν αυτό διορθώσει το πρόβλημα, μπορείτε να προσαρμόσετε τα δικαιώματα και την ιδιοκτησία του socket όπως χρειάζεται με βάση τις ρυθμίσεις ασφαλείας σας.

Επίσης, ο κατάλογος στον οποίο βρίσκεται η υποδοχή πρέπει να είναι προσβάσιμος από τον χρήστη που εκτελεί τη διεργασία mysqld.

 Ray
Ray
Επεξεργασμένη απάντηση Κάνε Ιανουάριος 2017 в 6:19
179
0
Hammad Raza
Hammad Raza
Κάνε Οκτώβριος 2014 в 7:53
2014-10-20T07:53:50+00:00
Περισσότερα
Πηγή
Επεξεργασία
#16970798

Αυτό το σφάλμα εμφανίζεται λόγω πολλαπλών εγκαταστάσεων της mysql. Εκτελέστε την εντολή:

ps -A|grep mysql

Σκοτώστε τη διαδικασία χρησιμοποιώντας:

sudo pkill mysql
ps -A|grep mysqld

Επίσης, τερματίστε αυτή τη διεργασία εκτελώντας την εντολή:

sudo pkill mysqld

Τώρα είστε πλήρως προετοιμασμένοι απλά εκτελέστε τις ακόλουθες εντολές:

service mysql restart
mysql -u root -p

Έχετε πολύ καλά λειτουργική mysql και πάλι

Valeriu
Valeriu 51193
Επεξεργασμένη απάντηση Κάνε Ιούνιος 2022 в 12:21
 arghtype
arghtype
Επεξεργασμένη απάντηση Κάνε Οκτώβριος 2014 в 8:27
113
0
Ioan Stef
Ioan Stef
Κάνε Φεβρουάριος 2013 в 11:47
2013-02-05T23:47:52+00:00
Περισσότερα
Πηγή
Επεξεργασία
#16970788

Η λύση είναι πολύ πιο εύκολη.

  1. Πρώτον, πρέπει να εντοπίσετε (στο Terminal με "sudo find / -type s") πού βρίσκεται το αρχείο mysql.sock. Στην περίπτωσή μου ήταν στο /opt/lampp/var/mysql/mysql.sock.
  2. Ανοίξτε το Terminal και δώστε το εξής μήνυμα sudo Nautilus<br&gt, Αυτό εκκινεί τον διαχειριστή αρχείων σας με προνόμια υπερ-χρήστη
  3. Από το Nautilus μεταβείτε στο σημείο όπου βρίσκεται το αρχείο mysql.sock.
  4. Κάντε δεξί κλικ στο αρχείο και επιλέξτε Make Link
  5. Μετονομάστε το αρχείο συνδέσμου σε mysqld.sock και στη συνέχεια κάντε δεξί κλικ στο αρχείο και κόψτε το.
  6. Πηγαίνετε στο /var/run και δημιουργήστε ένα φάκελο με όνομα mysqld και εισάγετε τον
  7. Τώρα κάντε δεξί κλικ και επικόλληση του αρχείου συνδέσμου
  8. Voila! Τώρα θα έχετε ένα αρχείο mysqld.sock στο /var/run/mysqld/mysqld.sock :)
Ioan Stef
Ioan Stef
Επεξεργασμένη απάντηση Κάνε Ιούνιος 2013 в 6:18
38
0
Pratik Patil
Pratik Patil
Κάνε Φεβρουάριος 2016 в 12:13
2016-02-23T12:13:21+00:00
Περισσότερα
Πηγή
Επεξεργασία
#16970809

Απλά πρέπει να ξεκινήσετε την υπηρεσία MySQL μετά την εγκατάσταση:

Για Ubuntu:

sudo service mysql start;

Για CentOS ή RHEL:

sudo service mysqld start;
Valeriu
Valeriu 51193
Επεξεργασμένη απάντηση Κάνε Ιούνιος 2022 в 12:22
25
0
Taimoor Changaiz
Taimoor Changaiz
Κάνε Ιανουάριος 2013 в 6:37
2013-01-24T06:37:32+00:00
Περισσότερα
Πηγή
Επεξεργασία
#16970787

Αντιμετώπισα το ίδιο σφάλμα και διαπίστωσα ότι οφειλόταν στην αναβάθμιση των πακέτων, Έτσι, μετά την επανεκκίνηση του συστήματός μου έλυσα το σφάλμα.

Νομίζω ότι λόγω της ενημέρωσης των βιβλιοθηκών sql / πακέτων αυτό το σφάλμα συνέβη, Έτσι δοκιμάστε αυτό αν κάνετε κάποια αναβάθμιση :)

11
0
Προσθήκη ερώτησης
Κατηγορίες
Όλα
Τεχνολογία
Πολιτισμός / Αναψυχή
Ζωή / Τέχνες
Επιστήμη
Επαγγελματικό
Επιχείρηση
Χρήστες
Όλα
Νέα
Δημοφιλές
1
Галина Утяшова
Εγγεγραμμένη πριν 21 ώρες
2
Asilbek Qadamboyev
Εγγεγραμμένη πριν 4 μέρες
3
Akshit Mehta
Εγγεγραμμένη πριν 6 μέρες
4
me you
Εγγεγραμμένη πριν 1 εβδομάδα
5
Никита иванов
Εγγεγραμμένη πριν 1 εβδομάδα
DA
DE
EL
ES
FR
ID
IT
JA
NL
PT
RU
SK
SL
TR
ZH
© de-vraag 2022
Πηγή
stackoverflow.com
με άδεια cc by-sa 3.0 με αναφορά