Hallo, wenn ich versuche, meine mysqld zu starten, bekomme ich diesen Fehler:
%Vor%Der Hauptgrund ist, dass meine.cnf-Datei meine mysql.sock-Datei nicht finden kann.
%Vor%Wenn ich versuche, es zu suchen:
%Vor%Ich werde
bekommen %Vor%Ich bin neu hier, also kann mir bitte jemand helfen?
"Der Hauptgrund ist, dass die Datei my.cnf meine mysql.sock-Datei nicht finden kann."
Nein. "Der Hauptgrund" ist mysqld has not started
, also gibt es keine mysql.sock und jeder Client kann keine Verbindung herstellen.
Momentan "warum mysqld faisds" ist eine breite Frage. Das MySQL-Fehlerprotokoll hat den Grund "Warum MySQL versagt". Wenn Sie wissen, wo das Mysql-Fehlerprotokoll ist, öffnen Sie es einfach und schreiben Sie eine Fehlermeldung in Ihre Frage.
Aber wahrscheinlich denke ich, dass Sie nicht wissen, wo mysql Fehlerprotokoll ist ....
Identifizieren Sie, wo das mysql Fehlerprotokoll
ist Also müssen wir herausfinden, wo es ist. wir könnten irgendwo raten ... aber der genaue Ansatz verwendet strace
strace.log hat jetzt alle Systemaufrufe, die sich auf MySQL Deamon beziehen. Öffne strace.log mit einem beliebigen Editor und suche 'err'. In meinem Fall
%Vor%wenn open () fehlschlägt
Es könnte passieren, dass open()
fehlschlägt, allgemeiner Fehler ist
Sie können also herausfinden, warum mysqld nicht in '/XXX/hostname.err' gestartet werden kann. Wir schätzen es sehr, wenn Sie eine Fehlermeldung hinterlassen.
ps.
Ich habe test strace mit
%Vor% Nicht sicher mit service mysqld
zu arbeiten, aber kein Grund, nicht zu arbeiten
"Ich bekomme nichts zurück mit: $ strace -f & gt; strace.log 2 & gt; & amp; 1 service mysqld start"
Tatsächlich ruft service mysqld start
/etc/rc.d/init.d/mysqld start
auf (unter der Annahme von CentOS oder Fedora). Also, Sie könnten es versuchen.
Wenn my.cnf
, auf das Sie verwiesen haben, die richtige Datei für mysqld ist, öffnen Sie sie und suchen Sie den Abschnitt [mysqld]
. Es sieht wie folgt aus
MySQL Fehlerprotokoll ist in /path/data
Bin kein Experte in MySQL, aber die Frage ist:
Hört MySQL auf einen Socket, auf einen TCP-Port oder auf beides?
Überprüfen Sie die Konfigurationsdatei my.cnf, die sich normalerweise in / etc oder / etc / mysql befindet, und Sie werden dies sehen. Wenn es bereits als Socket läuft, sehen Sie den Pfad zum Socket.
Ich hoffe, es hilft.
Grüße
In Ihrem Post scheint mysqld MySQL Daemon failed to start.
Starting mysqld: [FAILED]
nicht gestartet zu haben.
Überprüfen Sie, ob mysqld service mysqld status
ausführt.
Die Konfigurationsdatei my.cnf sucht nach mysql.sock und Sie suchten nach mysqld.sock. Zwei verschiedene Namen.
Danke Barmaley, für die tolle Antwort. Ich habe meine mysqld.log Datei überprüft.
Es zeigt alle Gründe, warum mein MySQL-Dienst nicht startet. In meinem Fall hat der Benutzer mysql keine Schreibberechtigung für "/ var / run / mysqld" . Ich gab mysql Benutzer Erlaubnis von root Benutzer und es funktionierte für mich.
Nochmals vielen Dank! Barmaley
Tech Einrichtung:
%Vor%Jedes Mal, wenn ich versuche, mysql auf Centos auszuführen, sehe ich dieses Problem, ich bin mir nicht sicher, ob dieses Problem nur für OS und MySQL-Version spezifisch ist.
Wenn Sie die Protokolldateien öffnen und überprüfen, dass Sie so etwas sehen werden
/ usr / sbin / mysqld: Datei '/var/log/mysql-bin.index' nicht gefunden (Fehlercode: 13 - Erlaubnis verweigert)
Diese Berechtigung verweigert liegt daran, dass wir standardmäßig keine Berechtigungen zum Schreiben in / var / log-Dateien haben. Daher sollten wir die Berechtigungen für den Benutzer ändern. MySQL versucht etwas in bin-log
oder relay-logs
in /var/log/mysql
zu schreiben.
Bevor wir die Berechtigungen ändern, müssen wir uns bewusst machen, dass es in / var / log kein mysql-Verzeichnis gibt, also müssen wir zuerst dieses erstellen und dann die Berechtigungen ändern. Also habe ich das getan:
%Vor%mysqld sollte jetzt anfangen zu arbeiten!
Tags und Links mysql linux centos6 mysql.sock