Beim Starten von MySQL in einer OS X-Umgebung wird eine Fehlermeldung angezeigt: 016-03-03T00:02:30.483037Z 0 [FEHLER] InnoDB: ./ibdata1 kann nicht gesperrt werden. Fehler: 35 2016-03-03T00:02:30.483100Z 0 [Hinweis] InnoDB: Überprüfen Sie, dass Sie nicht bereits einen anderen mysqld-Prozess haben, der dieselben InnoDB-Daten oder Protokolldateien verwendet. Das Terminal druckt das obige Fehlerprotokoll wiederholt aus. Aus dem Fehlerprotokoll geht hervor, dass ein anderer mysqld-Prozess die Datei ./ibdata1 belegt hat. Verwenden Sie daher den Befehl ps, um zu überprüfen, ob ein mysqld-Prozess ausgeführt wird: ps -ef |grep mysqld 74 7711 1 0 8:04 Uhr?? 0:00.34 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid Es wurde festgestellt, dass ein 7711-Prozess ausgeführt wurde, daher wurde dieser zwangsweise beendet: sudo töten -9 7711 Nochmal mit ps abfragen: ps -ef |grep mysqld 74 7759 1 0 8:10 Uhr?? 0:00.29 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid Es ist immer noch da, aber die PID hat sich vom ursprünglichen 7711 auf den aktuellen 7759 geändert. Sehen Sie dann nach, welche Dateien der mysqld-Prozess geöffnet hat: lsof -c mysqld Der Prozess hat keine Dateien geöffnet, das ist das Problem.
Also lauf noch einmal: sudo lsof -c mysqld BEFEHL PID BENUTZER FD TYP GERÄTEGRÖSSE/AUS KNOTENNAME mysqld 8655 _mysql cwd DIR 1,4 544 3090250 /usr/local/mysql/data mysqld 8655 _mysql.txt REG 1,4 31130736 3089789 /usr/local/mysql/bin/mysqld Tatsächlich habe ich festgestellt, dass ein echter mysqld-Prozess ausgeführt wird, der auch diese mysql-Dateien belegt. Nach einigem Googlen habe ich festgestellt, dass MySQL unter OS X völlig anders gestartet wird als unter Linux. Die korrekte Methode zum Starten/Neustarten von MySQL unter OS X lautet: sudo launchctl unload -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist Sehen wir nun nach, ob noch ein mysqld-Prozess vorhanden ist: ps -ef |grep mysqld Nun, ich habe festgestellt, dass es tatsächlich weg ist, also habe ich MySQL erneut gestartet: sudo launchctl load -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist Das Problem ist endlich gelöst, aber noch nicht vorbei. Wir müssen das Prinzip herausfinden. Was ist LAUNCHD? Launchd ist ein Schlüsselprozess, der seit 10.4 in Mac OS X eingeführt wurde. Er wird zum Initialisieren der Systemumgebung verwendet. Er ist der erste Prozess, der in der Betriebssystemumgebung gestartet wird, nachdem der Kernel erfolgreich geladen wurde. Herkömmliches Linux verwendet /etc/rc.* oder /etc/init, um Dienste zu verwalten, die beim Booten gestartet werden sollen, während OS X zu deren Verwaltung launchd verwendet. Auf diese Weise lassen sich Startelemente sehr einfach konfigurieren und es wird nur eine plist-Datei benötigt. Die plist-Dateien im Verzeichnis /Library/LaunchDaemons sind allesamt Prozesse, die unmittelbar nach dem Systemstart gestartet werden. Verwenden Sie den Befehl launchctl, um die plist-Datei zu laden/entladen. Nach dem Laden der Konfigurationsdatei wird das Programm gestartet und nach dem Entladen der Konfigurationsdatei wird das Programm geschlossen. Versuchen Sie nach der Deinstallation der Konfigurationsdatei, den MySQL-Prozess direkt mit dem Befehl mysqld zu starten: /usr/local/mysql/bin/mysqld 2016-03-03T01:35:50.359258Z 0 [FEHLER] InnoDB: ./ib_logfile0 kann nicht im Lese-/Schreibmodus geöffnet werden. 2016-03-03T01:35:50.359283Z 0 [FEHLER] InnoDB: Plugin-Initialisierung mit Fehler abgebrochen Allgemeiner Fehler 2016-03-03T01:35:50.670517Z 0 [FEHLER] Die Initialisierungsfunktion des Plugins „InnoDB“ hat einen Fehler zurückgegeben. 2016-03-03T01:35:50.670555Z 0 [FEHLER] Die Registrierung des Plugins „InnoDB“ als STORAGE ENGINE ist fehlgeschlagen. 2016-03-03T01:35:50.670568Z 0 [FEHLER] Initialisierung der Plugins fehlgeschlagen. 2016-03-03T01:35:50.670574Z 0 [FEHLER] Abbruch ib_logfile0 kann nicht geöffnet werden. Es handelt sich wahrscheinlich um eine Benutzerberechtigungsdatei. MySQL kann mit dem aktuellen Systembenutzer nicht gestartet werden. Fügen Sie dann sudo hinzu und starten Sie es als Root: 2016-03-03T01:38:10.977313Z 0 [FEHLER] Schwerwiegender Fehler: Lesen Sie bitte den Abschnitt „Sicherheit“ im Handbuch, um herauszufinden, wie Sie mysqld als Root ausführen! 2016-03-03T01:38:10.977339Z 0 [FEHLER] Abbruch 2016-03-03T01:38:10.977350Z 0 [Hinweis] Binlog-Ende 2016-03-03T01:38:10.977410Z 0 [Hinweis] /usr/local/mysql/bin/mysqld: Herunterfahren abgeschlossen Sagen Sie mir, ich soll das MySQL-Sicherheitshandbuch lesen und es mit launchd starten. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Vue: Zwei Komponenten auf gleicher Ebene erreichen eine Wertübertragung
>>: So verwenden Sie Port 80 in Tomcat unter Linux
Inhaltsverzeichnis Vorwort 1. Trigger-Übersicht 2...
Wir alle kennen den Befehl tr, mit dem Ersetzunge...
Inhaltsverzeichnis Benutzerverwaltung Neuen Benut...
1. Verwenden Sie die SELECT-Klausel, um mehrere T...
Inhaltsverzeichnis Überblick Erfordern URL der An...
In diesem Artikel wird der spezifische Code von j...
Frage: In einigen Browsern, wie zum Beispiel im K...
Inhaltsverzeichnis 1. Lokalen Speicher erstellen ...
Normalerweise haben wir ein Scan-Feld, wenn wir d...
Der schnellste Weg, die neueste Version von OpenS...
1. Effekt der Listenabfrageschnittstelle Bevor wi...
Inhaltsverzeichnis 1. So erhalten Sie unterschied...
Inhaltsverzeichnis 1. Art von 2. Instanz von 3. U...
Unten beginnt der Haupttext. 123WORDPRESS.COM Her...
Heute habe ich bei der Verwendung von SVG in der ...