it-swarm.com.de

MySQL wird beim Upgrade von OSX auf Yosemite oder El Capitan nicht gestartet

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.

66
Adam_G

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.

26
Adam_G

Öffnen Sie ein Terminal:

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

  2. Wenn ja, wechseln Sie in den Ordner mysql cd/usr/local/mysql

  3. mache ein Sudo chown -R _mysql data/

  4. Dadurch wird der Besitz von/usr/local/mysql/data und dessen gesamten Inhalt durch den Benutzer '_mysql' in den Besitz des Benutzers geändert.

  5. Ü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.

  6. 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
75
Tommy King

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.

60
Ares

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

34
Wils

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
7
KayV

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.

5
neilgee

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!
5
Thomas Dev

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

3
Jon Schwenn

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.

2
Claude COULOMBE

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.

2
Vinith

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

1
vualoaithu

Nichts davon funktionierte ... aber die Installation einer neuen Version von MySQL hat den Trick geleistet.

1
json

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)

0
Stevers

2 Schritte haben mein Problem gelöst:

1) Löschen Sie "/Library/LaunchDaemons/com.mysql.mysql.plist".

2) Starten Sie Yosemite neu

0
AamirR

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
0
philippinedev

Dasselbe ist mir passiert! Also habe ich versucht, erneut zu starten, nachdem ich die laufende MySQL-Anwendung beendet hatte, und das hat funktioniert!

0
Ryan Tian