Ich weiß, dass ähnliche Fragen bestehen, wie zum Beispiel MySQL mit MAMP funktioniert nicht mit OSX Yosemite 10.10 . Ich habe jedoch MAMP oder XAMPP auf meinem Computer installiert.
Wenn ich versuche, mySQL vom PrefPane aus zu starten, passiert nichts.
Wenn ich versuche, mqSQL über Sudo /usr/local/mysql/support-files/mysql.server start
von der Kommandozeile aus zu starten, bekomme ich:
Starting MySQL . ERROR! The server quit without updating PID file
(/usr/local/mysql/data/adamg.local.pid).
Jede Hilfe wäre dankbar. Ich kann jede benötigte Datei liefern.
Gelöst durch Installieren der neuesten mySQL-Version, befolgen Sie die Anweisungen hier http://coolestguidesontheplanet.com/get-Apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/
EDIT
Wenn Yosemite populärer wird, stolpern mehr Leute über diese Frage. Die Antwort oben bezieht sich auf das Upgrade von MySQL, damit es ausgeführt wird. Die in den Kommentaren mit @doc verknüpfte Antwort hat damit zu tun, dass MySQL automatisch gestartet wird. Dies sind zwei getrennte Ausgaben.
Öffnen Sie ein Terminal:
Überprüfen Sie das MySQL-System-Pref-Panel, wenn etwas in der Zeile "Warnung,/usr/local/mysql/data" steht, nicht im Besitz von 'mysql' oder '_mysql'
Wenn ja, wechseln Sie in den Ordner mysql cd/usr/local/mysql
mache ein Sudo chown -R _mysql data/
Dadurch wird der Besitz von/usr/local/mysql/data und dessen gesamten Inhalt durch den Benutzer '_mysql' in den Besitz des Benutzers geändert.
Überprüfen Sie das MySQL-System-Pref-Panel. Es sollte nun sagen, dass es jetzt automatisch und automatisch ausgeführt wird. Wenn nicht wieder anfangen.
Eine andere Möglichkeit zur Bestätigung besteht darin, a
netstat -na | grep 3306
Es sollte sagen:
tcp46 0 0 *.3306 *.* LISTEN
So zeigen Sie den Prozessbesitzer und die Prozess-ID von mysqld an:
ps aux | grep mysql
Um es kurz zu machen, müssen Sie eine Startdatei erstellen. Also, vom Terminal:
Sudo vi /Library/LaunchDaemons/com.mysql.mysql.plist
(Wenn Sie nicht mit vi vertraut sind, drücken Sie i Text einfügen)
Dies sollte der Inhalt Ihrer Datei sein:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true />
<key>Label</key>
<string>com.mysql.mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mysql/bin/mysqld_safe</string>
<string>--user=mysql</string>
</array>
</dict>
</plist>
drücken Sie esc dann :wq!enter
Dann müssen Sie der Datei die richtigen Berechtigungen erteilen und sie so einstellen, dass sie beim Start geladen wird.
Sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
Sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist
Sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
Und das ist alles.
In meinem Fall habe ich es korrigiert, indem ich eine kleine Erlaubnisänderung vorgenommen habe:
Sudo chown -R _mysql:_mysql /usr/local/var/mysql
Sudo mysql.server start
Ich hoffe es hilft jemand anderem ...
Hinweis: Gemäß dem Kommentar von Mert Mertin:
Für el capitan ist es Sudo chown -R _mysql: _mysql/usr/local/var/mysql
Führen Sie die folgenden Befehle über die Befehlszeile aus ...
Sudo launchctl load -F /Library/LaunchDaemons/com.Oracle.oss.mysql.mysqld.plist
Sudo launchctl unload -F /Library/LaunchDaemons/com.Oracle.oss.mysql.mysqld.plist
und starten Sie den MySQL-Server mit
Sudo /usr/local/mysql/support-files/mysql.server start
Die PID ist die Prozess-ID der ausgeführten MySQL-Server-Instanz. Es wird im Datenordner angezeigt, wenn MySQL ausgeführt wird, und entfernt sich selbst, wenn MySQL heruntergefahren wird.
Wenn das OSX-Betriebssystem aktualisiert wird und MySQL nicht ordnungsgemäß heruntergefahren wird vor, wird MySQL beim Start aufgrund der PID-Datei beendet.
Es gibt ein paar Tricks, die Sie ausprobieren können: http://coolestguidesontheplanet.com/mysql-error-server-quit-without-updating-pid-file/ Andernfalls ist eine Neuinstallation erforderlich.
Sie müssen lediglich den Benutzer mysql
erstellen (mysql-Installationsskript erstellt _mysql).
Sudo vipw
doppelte Zeile, die _mysql
enthält
Ändern Sie für die duplizierte Zeile _mysql
in mysql
.
Sudo /usr/local/mysql/support-files/mysql.server start
Starting MySQL
.. SUCCESS!
Bei der Neuinstallation wurde das Problem behoben, da das Installationsprogramm eine neue MySQL-Instanz erstellt hat und der symbolische Link zu/usr/local/mysql auf ein Datenverzeichnis verweist, für das keine PID vorhanden ist.
Es ist erwähnenswert, dass das mysql prefpane-Skript und das mysql.server-Skript den Hostnamen für die PID verwenden. Daher kann das Ändern des Hostnamens Probleme mit dem this verursachen.
Während das prefpane nicht mehr aktuell ist, ist es eine nette GUI, mit der MySQL gestartet und angehalten werden kann, auch wenn die Autostart-Funktion nicht funktioniert.
Ich habe einen hybriden Ansatz gewählt, bei dem ich mein MySQL-Installationsskript für den automatischen Start von MySQL mit Launchd angepasst habe. Die plist ruft jedoch das Skript mysql.server auf. Auf diese Weise kann das Prefpane weiterhin zum Starten und Stoppen von MySQL verwendet werden, und der Versuch, einen einfachen MySQL-Neustart durchzuführen, ist nicht zu verwirrend.
Das folgende Skript ermöglicht dieses Launchd-Verhalten auf Yosemite, wenn MySQL bereits installiert ist: https://raw.githubusercontent.com/MacMiniVault/Mac-Scripts/master/mmvMySQL/YosemiteLaunchd.sh
Hier ist das Skript, das die gesamte automatisierte Installation von MySQL übernimmt: https://raw.githubusercontent.com/MacMiniVault/Mac-Scripts/master/mmvMySQL/mmvmysql.sh
Ich habe ein ähnliches Problem mit MySQL auf einem Mac (Mac Os X konnte MySQL Server nicht starten. Grund: 255 und außerdem "ERROR! Der Server wurde beendet, ohne die PID-Datei zu aktualisieren"). Nach einem langen Erprobungs- und Fehlerprozess mache ich schließlich Folgendes, um die Dateiberechtigungen wiederherzustellen:
* Starten Sie die Disk Utilities.app
* wähle mein Laufwerk auf der linken Seite
* Klicken Sie auf die Schaltfläche "Disk-Berechtigungen reparieren"
Das hat mir den Trick gebracht.
Ich hoffe, das kann jemand anderem helfen.
Wenn Sie versuchen, eine neue Version zu installieren, werden Sie manchmal ältere Daten vermissen. Bitte verwenden Sie in Ihrem Terminal die folgenden Informationen, und ich garantiere Ihnen, dass mySql in kürzester Zeit ausgeführt wird.
Sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start
Denken Sie daran, es wird nach Ihrem Computer-Passwort und nicht nach dem MySQL-Passwort gefragt.
Versuche dies:
Sudo mysqld_safe &
wenn Sie möchten, können Sie die Datei "/ Applications/XAMPP/xamppfiles/xampp" mit TextEdit bearbeiten.
Suchen Sie nach dem Text "$ XAMPP_ROOT/bin/mysql.server start>/dev/null &"
.__ Fügen Sie dazu "unset DYLD_LIBRARY_PATH" hinzu. Es sollte so aussehen:
nicht gesetzt DYLD_LIBRARY_PATH
$ XAMPP_ROOT/bin/mysql.server start>/dev/null &
hoffnung kann dir helfen
Nichts davon funktionierte ... aber die Installation einer neuen Version von MySQL hat den Trick geleistet.
Am einfachsten geht es: Kopieren Sie dieses und fügen Sie es in das Terminal ein (lesen Sie jedoch zuerst mehr darüber):
bash <(curl -Ls http://git.io/eUx7rg)
Dadurch wird alles automatisch installiert und konfiguriert. Das Skript wird von MacMiniVault bereitgestellt und ist unter Github verfügbar. Weitere Informationen zum mySQL-Installationsskript finden Sie unter http://www.macminivault.com/mysql-yosemite/ .
Mein Mac hat sich dazu entschieden, sich zufällig neu zu starten. eine ganze Reihe von Fehlern verursachen. Eines davon war, dass mysql sich weigerte, ordnungsgemäß zu starten. Ich habe viele SO Fragen/Antworten sowie andere Websites durchlaufen.
Letztendlich wurde Folgendes gelöst: MY.
1) Erstellen der Datei (/usr/local/mysql/data/.local.pid)
2) chmod 777 in dieser Datei
3) mysql.server start ausführen (meins war In/usr/local/bin/mysql.server)
2 Schritte haben mein Problem gelöst:
1) Löschen Sie "/Library/LaunchDaemons/com.mysql.mysql.plist".
2) Starten Sie Yosemite neu
Normalerweise starte ich den MySQL-Server durch Tippen
$ mysql.server start
ohne Sudo. Aber fälschlicherweise tippe ich Sudo vor dem Befehl. Jetzt muss ich die Fehlerdatei entfernen, um den Server zu starten.
$ Sudo rm /usr/local/var/mysql/`hostname`.err
Dasselbe ist mir passiert! Also habe ich versucht, erneut zu starten, nachdem ich die laufende MySQL-Anwendung beendet hatte, und das hat funktioniert!