Auf Snow Leopard gibt das Starten von MySQL den folgenden Fehler aus:
Der Server wurde beendet, ohne die PID-Datei zu aktualisieren
my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
pid-file=/var/run/mysqld/mysqld.pid
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Antworten:
Versuchen Sie, Ihre Protokolldatei mit dem Suffix ".err" zu finden. Es sollten weitere Informationen vorhanden sein. Es könnte sein in:
Es ist wahrscheinlich ein Problem mit Berechtigungen
Überprüfen Sie, ob eine MySQL-Instanz ausgeführt wird
Wenn ja, sollten Sie es stoppen oder den Prozess beenden
Wo
PID
wird die Nummer neben dem Benutzernamen bei der Ausgabe des vorherigen Befehls angezeigt?Überprüfen Sie den Besitz von
/usr/local/var/mysql/
Wenn es Eigentümer von
root
Ihnen ist, sollten Sie es ändernmysql
oderyour_user
quelle
Haben Sie die Anweisungen von
brew install mysql
befolgt?Richten Sie Datenbanken so ein, dass sie als IHR BENUTZERKONTO ausgeführt werden mit:
Für MySQL 5.x:
Informationen zum Einrichten von Basistabellen in einem anderen Ordner oder zum Ausführen von mysqld mit einem anderen Benutzer finden Sie in der Hilfe zu
mysqld_install_db
:und sehen Sie sich die MySQL-Dokumentation an:
Für MySQL 8.x:
Stellen Sie sicher, dass das
/usr/local/var/mysql
obige Datenverzeichnis leer ist, und sichern Sie es gegebenenfalls.Um beispielsweise als Benutzer "mysql" ausgeführt zu werden, müssen Sie möglicherweise
sudo
:Starten Sie mysqld manuell mit:
Hinweis: Wenn dies fehlschlägt, haben Sie wahrscheinlich vergessen, die ersten beiden Schritte oben auszuführen
quelle
sudo chown -R your_user /usr/local/var/mysql/
genau wie @Tombarts Antwort :)mysqld_install_db
Befehl gibt mir den Fehlermysql_install_db: [ERROR] unknown variable 'tmpdir=/tmp'
Ich hatte das gleiche Problem auf meinem Mac-Computer (befolgte alle von vorgeschlagenen Schritte zur Installation korrekt
brew install
).Das Löschen der Fehlerdatei hat das Problem für mich behoben:
sudo rm -rf /usr/local/var/mysql/dev.work.err
(dev.work
ist mein Hostname)Dies funktionierte, weil
dev.work.err
es_mysql:wheel
anstelle meines eigenen Benutzernamens gehörte. Durch das CHOWNEN der Fehlerdatei wäre diese wahrscheinlich ebenfalls behoben worden.quelle
Nach dem Neustart hatte ich das gleiche Problem. So habe ich es behoben:
quelle
sudo chown -R _mysql /usr/local/mysql/data
Das hat bei mir funktioniert ...
Überprüfen Sie alle laufenden MySQL-Prozesse:
Beenden Sie dann alle im obigen Befehl aufgeführten Prozesse wie folgt:
Ersetzen Sie
[PID]
durch die individuelle PID aus der obigen Liste, z5970
.Tun Sie dies für alle Zeilen, die Sie mit dem ersten Befehl sehen.
Dann können Sie Ihren MySQL-Server erneut starten:
quelle
pkill mysql
, um alle Prozesse zu beenden, die mit "mysql" übereinstimmen (-9
in den meisten Fällen nicht erforderlich ).Dieser Fehler kann auftreten, wenn versucht wird, msql zu starten, nachdem es nicht ordnungsgemäß heruntergefahren wurde.
Schauen Sie sich die MySQL-Fehlerprotokolldatei an. Wenn etwas wie "Überprüfen Sie, ob Sie noch keinen anderen mysqld-Prozess mit denselben Daten oder Protokolldateien haben" erwähnt wird. Dann müssen Sie diesen Prozess ordnungsgemäß herunterfahren.
Sehen Sie diesen Befehl, um zu sehen, auf welchem Prozess MySQL ausgeführt wird:
lsof -i:3306
Ihre Ausgabe sollte folgendermaßen aussehen:
kill -15 4249
mysql.server start
quelle
Meine Fehlerdatei sagte mir auch, dass der Port möglicherweise von einem anderen Prozess verwendet wird, aber durch einfaches Ausführen wurde
sudo mysql.server start
das Problem für mich behoben.quelle
Versuchen Sie zu entfernen
ib_logfile0
undib_logfile1
Dateien und dann mysql wieder laufenFür mich geht das.
quelle
.err
Datei im selben Verzeichnis entfernt, was für mich funktioniert hat.ib_log*.bak
Wenn Ihnen keine Antwort geholfen hat, entfernen Sie einfach den Ordner
/usr/local/var/mysql
und installieren Sie mysql erneutbrew reinstall mysql
.quelle
brew reinstall [email protected]
lösen Sie es.Ich bin kürzlich auf dieses Problem gestoßen, aber es hat vorher funktioniert und dann aufgehört.
Dies lag daran, dass ich anfänglich
mysql.server
als root statt als ich selbst angefangen habe.Das Update bestand darin, die Fehlerprotokolldatei (deren Eigentümer sie war) zu löschen
_mysql
. Beim erneuten Starten wurde es bestanden.quelle
Für mich musste ich mysql neu installieren
und dann unten So starten Sie mysql jetzt und starten Sie es beim Login neu:
quelle
Die Lösung, die für mich funktioniert hat, war hier: /server/334284/cant-create-pid-file-on-mysql-server-permission-denied
Das Ändern einiger meiner Berechtigungen schien den Trick zu tun. Ich verwende ein Mid-2012 Macbook Air mit OS X 10.8.2 und MySQL wurde mit Homebrew installiert.
quelle
Für mich war die Lösung einfach:
zeigte, dass mysqld bereits lief
dann erlaubte der Prozess zu starten
quelle
Ich hatte dieses Problem beim Versuch, ein Upgrade unter MacOS X 10.7.5 zu erstellen.
Leider wurde MySQL auch von 5.5.14 auf 5.6.10 aktualisiert. Versuchte das neue, funktionierte nicht.
Ich beschloss, zu meinem alten Setup zurückzukehren und machte eine
Dies hat das Problem nicht gelöst. An anderer Stelle habe ich das gelesen und getan, voila! Alles war zurück :)
quelle
brew upgrade mysql
und dannbrew switch mysql 5.7.17
war dies meine vorherige Version. Seltsam!Ich benutze,
Ich habe MySQL mit Homebrew installiert ('Brew Install MySQL'). Es wurden einige Abhängigkeiten und dann MySQL installiert.
Als ich versuchte, es zu starten,
Ich habe diesen Befehl ausgeführt,
und MySQL funktioniert.
Bitte beachten Sie, dass Sie mysql_install_db von der obersten Ebene des mysql-Verzeichnisses (IE, usr / local / Cellar / mysql / 5.5.25) ausführen müssen. Wenn Sie es direkt im Verzeichnis / scripts ausführen, wird nicht genügend Kontext für die Ausführung bereitgestellt.
quelle
Für mich bestand die Lösung darin, das Datenverzeichnis in / etc / my / cnf zu überschreiben / zu korrigieren.
Ich habe MySQL 5.5.27 aus dem Quellcode mit den Anweisungen in der Readme-Datei erstellt:
mysqld_safe hat sich ohne Erklärung beendet. Laufen
/etc/init.d/mysql.server start
führte zu dem Fehler:"Der Server wurde beendet, ohne die PID-Datei zu aktualisieren."
Ich habe jedoch etwas Seltsames in der Installationsanleitung bemerkt. Für das Verzeichnis "data" wurde der Besitz in mysql geändert, nicht jedoch in "var". Dies ist ungewöhnlich, da ich jahrelang sicherstellen musste, dass das var-Verzeichnis mysql-beschreibbar ist. Also bin ich manuell gelaufen
chown -R mysql /usr/local/mysql/var
und dann versucht, es erneut zu starten. Immer noch kein Glück. Aber schlimmer noch, keine .err-Datei im var-Verzeichnis - es war im "data" -Verzeichnis! Daher richtet scripts / mysql_install_db ein Camp in / usr / local / mysql / var ein, aber der Rest der Anwendung scheint seine Arbeit in / usr / local / mysql / data ausführen zu wollen!Also habe ich gerade /etc/my.cnf bearbeitet und unter dem Abschnitt [mysqld] eine Direktive hinzugefügt, um das Datenverzeichnis von mysql explizit auf var zu verweisen (wie ich es normalerweise erwarte), und danach startet mysqld einfach fein. Die hinzuzufügende Anweisung sieht folgendermaßen aus:
datadir = / usr / local / mysql / var
Hat für mich gearbeitet. Hoffe es hilft dir.
quelle
Es scheint, dass der MySQL-Prozess ausgeführt wird, daher können Sie den Port nicht verwenden. Sie können den laufenden MySQL-Prozess mit dem folgenden Befehl überprüfen:
ps auxf | grep mysql
Wenn Sie einen MySQL-Prozess erhalten, beenden Sie diese Prozess-ID mit kill -9 PID und versuchen Sie dann, MySQL zu starten.
quelle
Starten Sie MySQL im abgesicherten Modus
ODER
auf MAC Beenden Sie eine
mysql
odermysqld
mehrere Aufgaben in Ihrer Activity Monitor-Anwendung.oder überprüfen Sie Ihren Fehler durch
quelle
Was sagt das Fehlerprotokoll? Ich habe diesen Fehler erhalten und es wurde eine alte ungültige Einstellung in der my.cnf, die im mysql-Fehlerprotokoll angegeben ist. Wenn dies keine schlechte Konfigurationseinstellung ist, sollte das Fehlerprotokoll Sie zumindest in die richtige Richtung weisen.
Nun, ich gehe davon aus, dass das OP es an diesem Punkt behoben hat ... aber hoffentlich weist dies die anderen darauf hin, dass dieser Fehler in die richtige Richtung geht.
quelle
Mit Hilfe einiger hier geposteter Antworten konnte ich das Problem finden
Zuerst renne ich
sudo -i
Ich könnte also Root-Zugriff haben.
Dann habe ich die Datei xxxx.err gelöscht
rm -rf /usr/local/mysql/data/xxxx.err
nachdem ich MySQL in SafeMode gestartet habe
/usr/local/mysql/bin/mysqld_safe start
Es wird versucht zu starten und aufgrund eines Fehlers beendet ... Eine neue xxx.err-Datei wird erstellt und Sie müssen sie lesen, um die Fehlerursache zu ermitteln
tail -f /usr/local/mysql/data/mysqld.local.err
In meinem Fall fehlten aus irgendeinem Grund ein Ordner und eine Datei im
/var/log/
Ordner ... Also habe ich beide erstelltcd /var/log
mkdir mysql
touch mysql-bin.index
Nachdem die neue Datei erstellt wurde, müssen Sie die Berechtigung ändern
chown -R _mysql /var/log/mysql
Als all diese Schritte unternommen wurden, begann meine Datenbank sofort zu arbeiten ...
Hoffe, dies kann anderen hier helfen ... Der Schlüssel ist, den Fehler zu lesen und zu protokollieren und herauszufinden, was falsch ist ...
quelle
In meinem Fall tritt der Fehler aufgrund des Zugriffsproblems der Fehlerprotokolldatei auf.
Die folgenden zwei Befehle helfen mir, das Problem zu beheben.
quelle
Ich hoffe diese Arbeit für Sie.
Nachdem ich das Fehlerprotokoll überprüft hatte, fand ich Folgendes:
Und um es zu lösen, habe ich dem gesamten MySQL-Ordner Eigentumsrechte eingeräumt:
Dann (Sie können es auch über die Befehlszeile tun) habe ich die Berechtigungen angewendet (nachdem ich diesen Besitz erteilt habe) _mysql- und mysql- Benutzern erteilt habe ) auf alle eingeschlossenen Ordner im Menü "get info" des Ordners unter / usr / local / mysql angewendet -5.5.21-osx10.6-x86_64 . Sie müssen das nicht für den Alias tun, da es nur ein Alias ist.
Der Name des Ordners hängt von der Installationsversion von MySQL ab, über die Sie verfügen.
quelle
Ich hatte das gleiche Problem. Das Verschieben meiner Datei /etc/my.cnf hat bei mir funktioniert. Ich habe die Informationen hier
quelle
Hatte das gleiche Problem, für mich war es eine Brauentfernung, während eine vorherige Installation von mysqld ausgeführt wurde. Scheint, als würde Brew einen Dienst vor der Deinstallation nicht stoppen.
Nachdem ich die .err-Datei überprüft hatte, sah ich den protokollierten Fehler, dass möglicherweise eine andere Kopie von MySQL ausgeführt wird, nachdem der alte Dienst beendet wurde. Ich konnte dann die neue MySQL-Installation neu starten.
quelle
ls -latr /usr/local/var/mysql/
die zuletzt geänderte Datei gesucht, die das Fehlerprotokoll enthielt, und danntail -50 name.err
den Fehler angezeigt, der ein Problem in der Konfiguration war.ps aux | grep mysqld
den Prozess mit verwendet und dann beendetkill -9 [proccessid]
und der Server wurde erfolgreich gestartetEinfach....
Beheben Sie den MySQL Socket-Fehler 2002
Beheben Sie den drohenden 2002-Socket-Fehler, der verknüpft, wo MySQL den Socket platziert und wo OSX dies für erforderlich hält. MySQL legt ihn in / tmp ab und OSX sucht ihn in / var / mysql. Der Socket ist ein Dateityp, der den MySQL-Client ermöglicht / Server-Kommunikation.
sudo mkdir / var / mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Gut gemacht : )
Das hilft mir sehr! Ich habe diesen Leitfaden von den Jungs auf http://coolestguidesontheplanet.com/ genommen.
quelle
Versuche dies..
cd YOURPATH/usr/local/mysql
rm -rf *.local.err
(löscht Datei)touch YOURUSERNAME.local.pid
(generiert eine neue * .local.pid-Datei, über die sich der Fehler beschwert hat)mysql.server start
quelle
error.log
Datei "_mysql" gehört und Fehler in die Protokolle wirft. Ich wollte nur protokollieren, falls jemand anderes dieses Problem hat.150818 19:32:06 mysqld_safe Logging to '/opt/boxen/log/mysql/error.log'. 150818 19:32:06 mysqld_safe Starting mysqld daemon with databases from /opt/boxen/data/mysql /opt/boxen/homebrew/bin/mysqld_safe: line 129: /opt/boxen/log/mysql/error.log: Permission denied
Irgendwie habe ich meine Berechtigungen für El Capitan vermasselt und beschlossen, MySQL von Grund auf neu zu installieren.
Ich benutze Brew auf El Capitan und habe beschlossen, neu zu installieren:
Die Dateiberechtigungen bei der Neuinstallation wurden von geändert
_mysql
, um meinen Benutzernamen einzuschließenquelle
Überprüfen Sie, ob auf Ihrem Laufwerk noch Speicherplatz vorhanden ist. Ich habe dieses Problem, wenn auf meinem Laufwerk kein Speicherplatz mehr vorhanden ist.
quelle
Das Problem ist ein Berechtigungsproblem, es kann nicht gestartet werden, weil es nicht in mac.err schreiben kann, weil es jemand anderem gehört.
Stellen Sie sicher, dass der Ordner / usr / local / var / mysql dem Benutzer gehört, der mysql startet. Wenn ich MySQL als Jack starte, ist alles gut. Wenn Sie es jedoch als root starten, wird eine mac.err-Datei (im Besitz von root) erstellt, in die jack nicht schreiben kann. Wenn Sie also versuchen, es als jack neu zu starten, schlägt dies fehl.
quelle
In meinem Fall habe ich dieses Problem auf vps, cPanel, bekommen .
Ich habe die meisten der oben genannten Antworten ausprobiert, aber keinen Erfolg.
https://forums.cpanel.net/threads/mysql-is-not-running.407142/
quelle