Startfehler des MySQL-Servers 'Der Server wurde beendet, ohne die PID-Datei zu aktualisieren'


284

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

7
wird als Administrator ausgeführt. mit sudo /usr/local/mysql/support-files/mysql.server starten
Chinmay

6
gleiches Problem. Installierte MySQL mit
Brew

20
selbes Problem hier. auch mit Gebräu installiert.
Jspooner

11
Ich habe diesen Fall auch auf meinem Mac erhalten und das Fehlerprotokoll wie '/usr/local/var/mysql/*.err' entfernt, das erfolgreich gestartet wurde.
Mathew P. Jones

3
Ich habe auch den gleichen Fehler auf dem Mac. Aber ich habe es gelöst. Wenn Sie über eine .dmg-Datei installiert sind, gehen Sie zu den Systemeinstellungen, klicken Sie auf das MySQL-Symbol und dann auf die Schaltfläche MySQL starten.
Amaranadh Meda

Antworten:


276

Versuchen Sie, Ihre Protokolldatei mit dem Suffix ".err" zu finden. Es sollten weitere Informationen vorhanden sein. Es könnte sein in:

/usr/local/var/mysql/your_computer_name.local.err

Es ist wahrscheinlich ein Problem mit Berechtigungen

  1. Überprüfen Sie, ob eine MySQL-Instanz ausgeführt wird

    ps -ef | grep mysql

    Wenn ja, sollten Sie es stoppen oder den Prozess beenden

    töte -9 PID

    Wo PIDwird die Nummer neben dem Benutzernamen bei der Ausgabe des vorherigen Befehls angezeigt?

  2. Überprüfen Sie den Besitz von /usr/local/var/mysql/

    ls -laF / usr / local / var / mysql /

    Wenn es Eigentümer von rootIhnen ist, sollten Sie es ändern mysqloderyour_user

    sudo chown -R mysql / usr / local / var / mysql /


24
Ich musste mich eher an einen MySQL-Benutzer als an meinen Benutzer wenden.
Jared

3
arbeitete für mich. Ich überprüfte die Fehlerdatei und sagte, dass es wegen Dateiberechtigungen war. führte den Befehl chown aus und arbeitete. Vielen Dank!!
Packet Tracer

2
sudo chown -R my_user / usr / local / var / mysql / hat mindestens für mich gearbeitet
Bjørn Børresen

Aus eigener Erfahrung - Achten Sie darauf, dass nach Abschluss des Sudo-Chowns derzeit keine MySQL-Prozesse unter einem anderen Benutzer oder Root ausgeführt werden. ps -ef | grep mysql überprüft, ob nichts ausgeführt wird - andernfalls können Sie es nicht starten.
Arthur Frankel

1
Lebensretter insgesamt. Meine einzige Beobachtung ist, dass der Dateipfad zum MySQL-Ordner variieren kann.
ALisboa

198

Haben Sie die Anweisungen von brew install mysqlbefolgt?

Richten Sie Datenbanken so ein, dass sie als IHR BENUTZERKONTO ausgeführt werden mit:

Für MySQL 5.x:

unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

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:

mysql_install_db --help

und sehen Sie sich die MySQL-Dokumentation an:

Für MySQL 8.x:

unset TMPDIR
mysqld --initialize-insecure --log-error-verbosity --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

Stellen Sie sicher, dass das /usr/local/var/mysqlobige Datenverzeichnis leer ist, und sichern Sie es gegebenenfalls.

Um beispielsweise als Benutzer "mysql" ausgeführt zu werden, müssen Sie möglicherweise sudo:

sudo mysql_install_db ...options...

Starten Sie mysqld manuell mit:

mysql.server start

Hinweis: Wenn dies fehlschlägt, haben Sie wahrscheinlich vergessen, die ersten beiden Schritte oben auszuführen


78
Wenn Sie auch nach Befolgen der Schritte aus der Ausgabe wiederholt denselben Fehler erhalten, löschen Sie die * .err-Datei aus demselben Verzeichnis wie die * .pid-Datei. mahdiyusuf.com/post/21022913180/…
ekillaby

6
Ich habe millionenfach versucht, diese Anweisungen zu befolgen, aber nie zum Laufen gebracht. Ich habe versucht zu "betrügen", indem ich nicht alle Dinge aufgeräumt habe, vor denen mich der Brauarzt gewarnt hat, da ich dachte, dass sie keinen Unterschied machen. Am Ende war es durch das Aufräumen und Befolgen der Anweisungen der Brauärzte möglich, das oben beschriebene Setup durchzugehen. Also eine Notiz an alle anderen, die vorbeikommen; Versuchen Sie nicht, den Braudoktor zu betrügen und denken Sie, Sie wissen es besser!
Span

9
Ich habe immer noch ein paar Probleme, wenn ich einen Arzt braue und meinem eigenen Benutzer eine Schreibberechtigung hinzufüge. sudo chown -R your_user /usr/local/var/mysql/genau wie @Tombarts Antwort :)
GabLeRoux

1
@countfloortiles Ja! Das Entfernen der Fehlerdatei hat es geschafft. :-)
ott--

6
Der mysqld_install_dbBefehl gibt mir den Fehlermysql_install_db: [ERROR] unknown variable 'tmpdir=/tmp'
Snowcrash

125

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.workist mein Hostname)

Dies funktionierte, weil dev.work.erres _mysql:wheelanstelle meines eigenen Benutzernamens gehörte. Durch das CHOWNEN der Fehlerdatei wäre diese wahrscheinlich ebenfalls behoben worden.


2
Dies löste auch mein Problem, nachdem mysql nicht mehr funktionieren konnte, was mir das gleiche Problem verursachte, aber das Fehlerprotokoll entfernte, das _mysql gehörte: admin löste das Problem
user980085

5
Dies schien mir am hilfreichsten zu sein und machte mir klar, dass ich diesen Dienst nicht mit SUDO starten, sondern unter meinem eigenen Benutzerkonto ausführen sollte.
Bnjmn

3
Dies ist eine ziemlich gute Antwort für diejenigen, die MySQL mit Homebrew
Stephane Paquet

Nachdem ich wochenlang verschiedene Dinge ausprobiert hatte, fing alles an zu funktionieren, als ich die Fehlerdatei entfernte. Danke
DF

Ich musste es nicht löschen, sondern nur wieder in mein Konto einbinden, da es irgendwo von meinem MySQL-Konto übernommen wurde.
Sammy Larbi

90

Nach dem Neustart hatte ich das gleiche Problem. So habe ich es behoben:

 sudo chown -R _mysql /usr/local/var/mysql


Vielen Dank. Ich hatte ein Problem mit Lampp in Ubuntu. Ich habe den gesamten Lampp-Ordner von / opt auf einen neuen Server kopiert. Beim Versuch, MySQL zu starten, wurde folgende Meldung angezeigt: Der Server wurde beendet, ohne die PID-Datei zu aktualisieren. Gehe zu lampp / var / und mache chown -R mysql mysql / Das hat bei mir funktioniert!
Dave

6
Danke, du bist mein Held;)
Fareed Alnamrouti

Vielen Dank Kumpel! Den Tag gerettet!
Masiar

8
Auf El Capitan funktionierte dies:sudo chown -R _mysql /usr/local/mysql/data
Justin

33

Das hat bei mir funktioniert ...

Überprüfen Sie alle laufenden MySQL-Prozesse:

$ ps aux | grep mysql

USER     PID    %CPU  %MEM 
_mysql   5970   0.0   0.4 ...

Beenden Sie dann alle im obigen Befehl aufgeführten Prozesse wie folgt:

$ sudo kill -9 [PID]

Ersetzen Sie [PID]durch die individuelle PID aus der obigen Liste, z 5970.

Tun Sie dies für alle Zeilen, die Sie mit dem ersten Befehl sehen.

Dann können Sie Ihren MySQL-Server erneut starten:

mysql.server start

oder verwenden Sie pkill mysql, um alle Prozesse zu beenden, die mit "mysql" übereinstimmen ( -9in den meisten Fällen nicht erforderlich ).
Bfontaine

um alle Prozesse mit einer bestimmten ID zu beenden und erneut zu starten
Anupam Maurya

26

Dieser Fehler kann auftreten, wenn versucht wird, msql zu starten, nachdem es nicht ordnungsgemäß heruntergefahren wurde.

  1. 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.

  2. Sehen Sie diesen Befehl, um zu sehen, auf welchem ​​Prozess MySQL ausgeführt wird: lsof -i:3306

Ihre Ausgabe sollte folgendermaßen aussehen:

COMMAND  PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
mysqld  4249 username   17u  IPv4 0x7843d9d130469c0b      0t0  TCP localhost:mysql (LISTEN)
  1. Beenden Sie den Prozess, auf dem MySQL ausgeführt wird: kill -15 4249

Kill -15 sendet einen Siganl an den Prozess, um alle gesperrten Ressourcen freizugeben und den Prozess danach zu beenden.

  1. Jetzt sollte MySQL ohne Probleme starten: mysql.server start

Das funktioniert immer noch für mich in High Sierra, für was auch immer das wert ist.
Jonathan Stegall

24

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 startdas Problem für mich behoben.


Ja ... das hat auch bei mir funktioniert ... und nichts oben hat funktioniert
Prashant

Ich habe Anweisungen befolgt, die ich irgendwo gelesen habe. Der Weg zum Starten von MySQL auf einem Mac lautet "sudo /usr/local/mysql/support-files/mysql.server start". Das führte zu dem Fehler "Der Server wurde beendet, ohne die PID-Datei zu aktualisieren", und so kam ich zu dieser Seite. Nachdem ich zahlreiche Antworten ausprobiert hatte, fand ich 'sudo mysql.server start' und es funktionierte. Vielen Dank.
Rodmclaughlin

19

Versuchen Sie zu entfernen ib_logfile0und ib_logfile1Dateien und dann mysql wieder laufen

rm /usr/local/var/mysql/ib_logfile0
rm /usr/local/var/mysql/ib_logfile1

Für mich geht das.


1
Ich habe auch die .errDatei im selben Verzeichnis entfernt, was für mich funktioniert hat.
Anthony bis

Gut. Das ist ganz einfach und funktioniert wirklich bei mir. Aber in meinem Fall ib_log*.bak
benenne

18

Wenn Ihnen keine Antwort geholfen hat, entfernen Sie einfach den Ordner /usr/local/var/mysqlund installieren Sie mysql erneut brew reinstall mysql.


9
WARNUNG Das bedeutet, dass alle Datenbanken gelöscht werden.
Theredled

Ich installiere zuvor eine höhere Version von mysql als mysql5.7 und dieses Problem tritt auf. Entfernen Sie einfach / usr / local / var / mysql und brew reinstall mysql@.57lösen Sie es.
Pegasus

Verschieben Sie die Datenbank unter / usr / local / var / mysql zuerst in einen anderen Ordner. Versuchen Sie nach der Installation und dem erfolgreichen Start des MySQL-Dienstes, die benötigte Datenbank zurück zu verschieben.
civic.LiLister

15

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.serverals 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.


Vielen Dank! Ich hatte das gleiche Problem bei der Suche nach einer Stunde und bin dann auf Ihre Antwort gestoßen.
FLIEG

11

Für mich musste ich mysql neu installieren

brew reinstall mysql

und dann unten So starten Sie mysql jetzt und starten Sie es beim Login neu:

brew services start mysql


10

Für mich war die Lösung einfach:

top

zeigte, dass mysqld bereits lief

sudo killall mysqld 

dann erlaubte der Prozess zu starten


8

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

brew switch mysql 5.5.14

Dies hat das Problem nicht gelöst. An anderer Stelle habe ich das gelesen und getan, voila! Alles war zurück :)

cd /usr/local/var/mysql
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak

Dies funktionierte für mich nach der ersten Verwendung brew upgrade mysqlund dann brew switch mysql 5.7.17war dies meine vorherige Version. Seltsam!
Jorge Orpinel

7

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,

west$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/west.local.pid).

Ich habe diesen Befehl ausgeführt,

west$ /usr/local/Cellar/mysql/5.5.25/scripts/mysql_install_db 

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.


Arbeitete für mich mit 5.5.28 und braute unter OSX 10.7.5
ch3rryc0ke

7

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:


# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> cmake .
shell> make
shell> make install
# End of source-build specific instructions

# Postinstallation setup
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data

# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &

# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

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 gelaufenchown -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.


5

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.


Diese Antwort ist mein Retter.
Sangbeom Han

5

Starten Sie MySQL im abgesicherten Modus

/usr/local/mysql/bin/mysqld_safe start

ODER

auf MAC Beenden Sie eine mysqloder mysqldmehrere Aufgaben in Ihrer Activity Monitor-Anwendung.

oder überprüfen Sie Ihren Fehler durch

tail -f /usr/local/mysql/data/XXXXX-XXXXX-Pro.local.err

4

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.


4

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 erstellt

cd /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 ...


4

In meinem Fall tritt der Fehler aufgrund des Zugriffsproblems der Fehlerprotokolldatei auf.

Die folgenden zwei Befehle helfen mir, das Problem zu beheben.

sudo chown <user> /usr/local/var/mysql/<my-host-name>.err
sudo chmod 666 /usr/local/var/mysql/<my-host-name>.err

3

Ich hoffe diese Arbeit für Sie.

Nachdem ich das Fehlerprotokoll überprüft hatte, fand ich Folgendes:

120309 17:42:49 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
120309 17:42:50 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
120309 17:42:50 [Warning] You need to use --log-bin to make --binlog-format work.
120309 17:42:50 [Note] Plugin 'FEDERATED' is disabled.
120309 17:42:50 InnoDB: The InnoDB memory heap is disabled
120309 17:42:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120309 17:42:50 InnoDB: Compressed tables use zlib 1.2.3
120309 17:42:50 InnoDB: Initializing buffer pool, size = 16.0M
120309 17:42:50 InnoDB: Completed initialization of buffer pool
120309 17:42:50  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /usr/local/mysql/data/ib_logfile0
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120309 17:42:50 mysqld_safe mysqld from pid file /usr/local/mysql/data/lu1s.local.pid ended

Und um es zu lösen, habe ich dem gesamten MySQL-Ordner Eigentumsrechte eingeräumt:

cd /usr/local
sudo chown mysql mysql
sudo chown mysql mysql-5.5.21-osx10.6-x86_64
sudo chown _mysql mysql
sudo chown _mysql mysql-5.5.21-osx10.6-x86_64

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.


3

Ich hatte das gleiche Problem. Das Verschieben meiner Datei /etc/my.cnf hat bei mir funktioniert. Ich habe die Informationen hier


3

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.


Ja, überprüfen Sie die Fehlerprotokolle. In meinem Fall habe ich ls -latr /usr/local/var/mysql/die zuletzt geänderte Datei gesucht, die das Fehlerprotokoll enthielt, und dann tail -50 name.errden Fehler angezeigt, der ein Problem in der Konfiguration war.
Mahemoff

Gott sei Dank, du hattest recht. Ich habe ps aux | grep mysqldden Prozess mit verwendet und dann beendet kill -9 [proccessid]und der Server wurde erfolgreich gestartet
Sagish

3

Einfach....

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.


3

Versuche dies..

  1. Navigieren Sie zum übergeordneten Verzeichnis des Problems cd YOURPATH/usr/local/mysql
  2. rm -rf *.local.err (löscht Datei)
  3. touch YOURUSERNAME.local.pid (generiert eine neue * .local.pid-Datei, über die sich der Fehler beschwert hat)
  4. CD zurück in Ihr Projekt und starten Sie MySQL mit neu mysql.server start

1
Das hat bei mir funktioniert. Grund dafür ist, dass die error.logDatei "_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
Donovan

Dies funktioniert nicht, wenn Ihr Problem mit Berechtigungen zusammenhängt, die denselben MySQL-Fehler auslösen.
Mpoletto

Hat auch für mich gearbeitet. Ich musste auch meinen Apache neu starten (für diejenigen, die auch einen LAMP-Stack verwenden).
Tommyixi

3

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:

brew uninstall mysql
sudo rm -rf /usr/local/var/mysql
brew install mysql
mysql.server start # ... SUCCESS

Die Dateiberechtigungen bei der Neuinstallation wurden von geändert _mysql, um meinen Benutzernamen einzuschließen

 ls -alh /usr/local/var/mysql
drwxr-xr-x   22 lfender  admin   748B Mar 22 09:58 .
# ... etc

2

Überprüfen Sie, ob auf Ihrem Laufwerk noch Speicherplatz vorhanden ist. Ich habe dieses Problem, wenn auf meinem Laufwerk kein Speicherplatz mehr vorhanden ist.


Ich hätte nie über das Platzproblem nachgedacht, wenn Sie es nicht erwähnt hätten. Du bist ein Retter!
Kshitij Bajracharya

2

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.

  1. Stellen Sie sicher, dass der Ordner und die Dateien dem Benutzer gehören, der mysql.server start ausführt
  2. Stellen Sie sicher, dass noch keine mac.err oder mac.pid vorhanden ist, die jemand anderem gehört.
  3. Start ist als der richtige Benutzer.

Ich habe chown -R <Benutzername> / usr / local / var / mysql verwendet und es hat großartig funktioniert. Schöne Lösung.
Mbokil

2

In meinem Fall habe ich dieses Problem auf vps, cPanel, bekommen .

Ich habe die meisten der oben genannten Antworten ausprobiert, aber keinen Erfolg.

  1. Überprüfen Sie, wo sich Ihr Fehlerprotokoll befindet. Es würde am Ende der Fehlerzeile erwähnt.

ERROR! Der Server wurde beendet, ohne die PID-Datei zu aktualisieren (/var/lib/mysql/111318.vps-11.com.pid).

  1. Öffnen Sie diese Datei (/var/lib/mysql/111318.vps-11.com.err) und suchen Sie unten nach den letzten Zeilen. In meinem Fall gibt es

[FEHLER] Schwerwiegender Fehler: Berechtigungstabellen können nicht geöffnet und gesperrt werden: Die Tabelle './mysql/db' ist als abgestürzt markiert und sollte repariert werden

  1. So lösen Sie dies: Wiederherstellen und Korrigieren der Tabellenindizes per Befehl:

[~] # myisamchk -r /var/lib/mysql/mysql/db.MYI

https://forums.cpanel.net/threads/mysql-is-not-running.407142/

  1. (Re) Starten Sie Ihre MySQL
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.