kann nicht starten Sie mysqld auf centos, weil ich kann nicht finden, mysql.Socke
Hallo, wenn ich versuche zu starten, meinen mysqld bekomme ich diesen Fehler:
[root@localhost /]# service mysqld restart
Stopping mysqld: [ OK ]
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
der Hauptgrund ist, dass meine.cnf-Datei nicht finden können, meinen mysql.sock Datei.
[root@localhost /]# mysqladmin -u root -p status
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!
Wenn ich versuche, Sie zu durchsuchen mit :
sudo find / -type s | grep mysqld.sock
Ich werde
find: ‘/proc/3253/task/3253/fd/5’: Bestand of map bestaat niet
find: ‘/proc/3253/task/3253/fdinfo/5’: Bestand of map bestaat niet
find: ‘/proc/3253/fd/5’: Bestand of map bestaat niet
find: ‘/proc/3253/fdinfo/5’: Bestand of map bestaat niet
"Bestand of map bestaat niet" == "File or directory don't exists"
Ich bin neu in diesem, so kann jemand mir bitte helfen?
- Hat das Verzeichnis
/var/lib/mysql
existiert? - versuchen service mysqld status sehen, ob es zeigt jede out-put andere als gestoppt. Die mysqladmin funktioniert nicht und zeigt die gleichen Fehler an, wenn mysql down ist. Dieser Fehler ist Häufig zu vielen Grund, und es ist nicht eindeutig. lassen Sie uns wissen, die O - /P-service mysqld status
- Hallo, Haben Sie versucht, ändern Sie den Besitzer und die Berechtigung von /var/lib/mysql Ordner?
- Ein
mysqladmin
log ist kein Beweis, warummysqld
konnte nicht gestartet werden. Du suchst an der falschen Stelle.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was für ein Schmerz! Ich stolperte über dasselbe problem (unter RedHat) und das hat mir geholfen:
Hoffe, das hilft. Viel Glück!
cp -fr /var/lib/mysql /var/lib/mysql.backup
NÖ. "DER Hauptgrund" ist
mysqld has not started
- es ist also kein mysql.Socke und jeder client kann keine Verbindung aufbauen.Aktuell ", warum mysqld failds" ist die umfassende Frage. MySQL-Fehler-log ist der Grund, Warum MySQL fehl'. Wenn Sie wissen, wo die mysql-Fehler-log ist, nur öffnen Sie es, und posten Sie die Fehlermeldung in deine Frage.
Aber wahrscheinlich denke ich, Sie weiß nicht, wo die mysql-Fehler-log ist....
Identifizieren, wo die mysql-Fehler-log ist
So, wir müssen identifizieren, wo es ist. wir könnten erraten, irgendwo... aber den genauen Ansatz ist die Nutzung von
strace
nun strace.log hat alle system-call mit MySQL-Dämon. öffnen strace.log mit einem editor und suchen Sie nach 'err"'. in meinem Fall
bei der open() schlägt fehl,
Könnte es passieren
open()
ausfällt, häufiger Fehler istdamit Sie herausfinden können, warum mysqld nicht startet, in '/XXX/hostname.err'. wir schätzen sehr, wenn Sie post-Fehlermeldung.
p.s.
Habe ich test strace mit
Nicht sicher, dass die Arbeit mit
service mysqld
aber kein Grund, nicht zu arbeitenUPDATE
Eigentlich
service mysqld start
ruft/etc/rc.d/init.d/mysqld start
(vorausgesetzt, CentOS oder Fedora). also, könnten Sie versuchen.Wenn
my.cnf
die Sie verwiesen wird, ist die richtige Datei für den mysqld, öffnen Sie es und suchen[mysqld]
Abschnitt. Es sieht aus wie folgtMySQL-Fehler-log in
/path/data
Bin kein Experte in mysql, aber die Frage ist:
Ist mysql lauscht auf einem sockel, der auf einem tcp-port oder beides?
überprüfen Sie die meine.cnf-Konfigurationsdatei, die sich normalerweise in /etc oder /etc/mysql und du wirst dies sehen. Auch, wenn es bereits ausgeführt wird, der als socket, sehen Sie den Pfad zu dem socket.
Hoffe, es hilft.
Hinsichtlich
Aus deinem post, es scheint mysqld nicht gestartet werden konnte
MySQL Daemon failed to start.
.Starting mysqld: [FAILED]
Prüfen Sie, ob mysqld läuft
service mysqld status
.Die config-Datei my.cnf ist auf der Suche nach mysql.Socke und Sie waren auf der Suche für mysqld.Socke. Zwei verschiedene Namen.
Dank Barmaley, für die tolle Antwort. Ich habe meine mysqld.log-Datei.
Zeigt es alle die Gründe, warum meine mysql-Dienst nicht starten. In meinem Fall die mysql-Benutzer hat keine Schreibrechte auf "/var/run/mysqld". Ich gab die Erlaubnis für mysql-Anwender von root-Benutzer, und es funktionierte für mich.
Nochmals vielen Dank! Barmaley
Tech eingerichtet:
Jedes mal, wenn ich versuche, führen Sie mysql auf Centos, sehe ich dieses problem, ich bin nicht sicher, Ob das problem nur spezifisch für OS-und MySQL-version.
Wenn Sie öffnen Sie die log-Dateien und überprüfen Sie, Sie sehen etwas wie dieser
Dass Permission Denied ist, weil standardmäßig wir nicht über die Berechtigungen zum schreiben in /var/log Dateien, also sollten wir ändern die Berechtigungen für den Benutzer. MySQL versucht, etwas zu schreiben
bin-log
oderrelay-logs
befindet sich in/var/log/mysql
.Bevor wir die Berechtigungen zu ändern, müssen wir erkennen, dass es keine mysql-Verzeichnis in /var/log also, wir müssen schaffen, die erste und dann die Berechtigungen ändern.
Also, ich habe dieses:
mysqld sollten die Arbeit jetzt!