So installieren Sie MySQL Server ordnungsgemäß auf OS X 10.10 mit OS X Server

Ich habe zahlreiche Vorschläge zur Verwendung von MAMP zur Installation von MySQL unter OS X gesehen, aber da ich die Server-App habe und bereits Apache und PHP habe, was ich nicht durcheinander bringen möchte, frage ich mich, wie man MySQL richtig installiert.

DAS FUNKTIONIERT
Bei Verwendung des DMG-Installationspakets des Community-Downloads von der MySQL-Website hat es zwei Fehler:

  1. Die Seite gibt an, dass die neueste Version OS X 10.9 ist
  2. Sobald das Installationsprogramm heruntergeladen und gemountet ist, zeigt es an, dass es eigentlich für OS X 10.8 gedacht ist (bestätigt mit dem OS X 10.8-Download, der in der Größe identisch ist; sie haben nur den Namen der DMG geändert, was ziemlich lahm ist, aber a Geschichte für sich)

Der Versuch, MySQL dennoch aus diesem Paket zu installieren, lief ohne Probleme. Ich kann sogar den MySQL-Server manuell starten, der dann laut Systemeinstellungen läuft.

DAS FUNKTIONIERT NICHT
Die nächsten Teile funktionieren jedoch nicht und ich frage mich, wie ich sie tatsächlich zum Laufen bringen kann:

  • /usr/local/mysql-5.6.25-osx10.8-x86_64/bin/wurde nicht zum Pfad hinzugefügt, was das Ausführen mysqlmühsam macht (sicher kann ich es manuell hinzufügen, aber wenn das Installationsprogramm dies nicht tut, stimmt etwas von Anfang an nicht)
  • Die Verwendung von Systemeinstellungen, um den MySQL-Server zum Starten beim Systemstart zu veranlassen, schlug mit einer weniger als informativen Fehlermeldung fehl

MySQL-Server-Fehlermeldung

  • Sogar die Konsole ist enttäuschend spärlich mit Informationen und zeigt nur die folgenden zwei Zeilen, wenn Sie versuchen, das Kontrollkästchen anzukreuzen

    7/21/2015 8:18:54.748 PM System Preferences[5620]: about to perform command
    7/21/2015 8:18:54.764 PM System Preferences[5620]: status= 4
    

Sie fragen sich vielleicht, warum Sie MySQL installieren, wenn Sie Postgres haben. Nun, ich möchte MediaWiki installieren und nicht mit den Systemkonten herumspielen, wie das Zurücksetzen von Passwörtern (es kann jeden anderen Serverdienst beschädigen, der Postgres verwendet) und zweitens bevorzugt MediaWiki nach der Installation MySQL gegenüber Postgres (was ich bezweifle sowie).

Hat jemand MySQL erfolgreich auf seiner OS X Yosemite-Installation (mit OS X Server) installiert?

Antworten (4)

Vorwort:

Es ist kein Problem, MAMP , MAMP Pro oder Bitnami MAMP Stack auf OS X Server (Yosemite oder älter) zu installieren . Alle sind eigenständige Stacks und werden im Ordner /Applications installiert. Sie beeinträchtigen keine Originalsoftware wie Oracle MySQL/PostgreSQL/OS X Server Postgres, vorausgesetzt, Sie verwenden nicht ihre unverwechselbaren Ports. Alle MAMP-Stacks sind einfach zu konfigurieren, um andere Ports zu reservieren (z. B. mysql/http/https usw.).

Es wird davon abgeraten, OS X Server PostgreSQL für Ihre Zwecke zu verwenden. Es kann von Apple unbemerkt geändert werden. Laden Sie PostgreSQL herunter, installieren Sie es und verwenden Sie es.

Installieren von Oracle MySQL Community Edition:

Beim Versuch, EJBCA auf Yosemite einzurichten und zum Laufen zu bringen, musste ich kürzlich Oracle MySQL installieren, und es funktionierte einwandfrei.

Öffnen Sie nach dem Herunterladen des Installationsprogramms das Image und installieren Sie MySQL mit den Standardeinstellungen über Ihr Administratorkonto.

Die Standardeinstellungen installieren inzwischen eine Plist in /Library/LaunchDaemons, um die empfohlene Möglichkeit zum Starten von Diensten beim Booten (mit launchd) bereitzustellen. Ältere Versionen verwendeten den Ordner /Library/StartupItems.

Eine richtige com.oracle.oss.mysql.mysqld.plist-Datei in /Library/LaunchDaemons sieht so aus:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>             <string>com.oracle.oss.mysql.mysqld</string>
    <key>ProcessType</key>       <string>Interactive</string>
    <key>Disabled</key>          <false/>
    <key>RunAtLoad</key>         <true/>
    <key>KeepAlive</key>         <true/>
    <key>SessionCreate</key>     <true/>
    <key>LaunchOnlyOnce</key>    <false/>
    <key>UserName</key>          <string>_mysql</string>
    <key>GroupName</key>         <string>_mysql</string>
    <key>ExitTimeOut</key>       <integer>600</integer>
    <key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string>
    <key>ProgramArguments</key>
        <array>
            <string>/usr/local/mysql/bin/mysqld</string>
            <string>--user=_mysql</string>
            <string>--basedir=/usr/local/mysql</string>
            <string>--datadir=/usr/local/mysql/data</string>
            <string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
            <string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
            <string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
            <string>--port=3307</string>
        </array>
    <key>WorkingDirectory</key>  <string>/usr/local/mysql</string>
</dict>
</plist>

Bis jetzt hatte ich noch nie ein Problem damit, das direkt out-of-the-box zum Laufen zu bringen. Wenn Ihr MySQL nicht richtig startet, überprüfen Sie bitte die Ordner /Library/LaunchDaemon und /Library/StartupItems auf ältere Versionen der plist oder widersprüchliche Startobjekte.

Das einzige, was Sie tatsächlich manuell tun müssen, ist das Hinzufügen des bin-Ordners von mysql zu Ihrem Pfad.

Sie haben folgende Möglichkeiten:

  • fügen Sie es zu /etc/paths hinzu, um es allen Pfaden Ihrer Benutzer hinzuzufügen mit:

    sudo echo "/usr/local/mysql/bin" >> /etc/paths
    
  • fügen Sie es dem Pfad Ihres Benutzers hinzu, indem Sie z. B.:

    touch ~/.bash_profile
    echo "export PATH=/usr/local/mysql/bin:$PATH" >> ~/.bash_profile
    

    /usr/local/mysql/bin anstelle von /usr/local/mysql-5.6.25-osx10.8-x86_64/bin funktioniert auch nach zukünftigen Updates, da während der Installation von MySQL ein Link namens mysql erstellt wird, der auf das echte mysql- version-osversion-proc_bit-Ordner.

  • Verwenden Sie launchd (Frage und Antwort hier - Sie können dort auch einige andere Methoden finden)

Wenn Sie es vorziehen, eine GUI zum Konfigurieren, Optimieren und Arbeiten mit MySQL zu verwenden, laden Sie MySQL Workbench herunter . Bitte denken Sie daran, Port 3307 anstelle von 3306 zu verwenden, um eine Verbindung von Ihrem lokalen Host zu localhost herzustellen. Sie können das Root-Passwort nach der ersten Verbindung festlegen.

Endlich muss ich deine detaillierten Anweisungen testen. Während es in Ordnung sein kann, MAMP zu verwenden, ist ein gutes System ein sauberes System, und für OS X Server muss ich noch sehen, warum es erforderlich ist, wenn alle Tools bereits vorhanden sind (außer MySQL). Verwenden Sie den von Ihnen bereitgestellten Download-Link, installierten Sie es erneut und diesmal funktionierte es. Einige MySQL-Sachen in den StartupItems gefunden, die ich vorher entfernt habe. Für den Pfad /private/etcenthält auch ein Verzeichnis namens path.d, das ich verwendet habe, um eine neue Datei mit dem Pfad hinzuzufügen. Besser als in eine Systemdatei zu schreiben. MediaWiki funktioniert jedoch immer noch nicht und es wird ein Verbindungsfehler angezeigt.

Ich fand, dass die Homebrew-Version von mysql unter OS X 10.10.3 und 10.10 perfekt funktionierte. laufenden Server. brew install mysqlund alles war gut - mysql.server startstartet es und mysql.server stopmacht das Gegenteil.

Für das, was es wert ist, habe ich OSX 10.10.4 und meine Installation von MySQL 5.6.26 für OSX 10.9 hat gut funktioniert und ich kann es erfolgreich über die Systemeinstellungen starten/stoppen. Was nicht gut funktioniert hat: Die Standardverbindungsmethode ist zu localhost über Socket und alle Versuche, Verbindungen über TCP zu 127.0.0.1 zu ermöglichen, erwiesen sich als vergeblich.

Was hast du für die Installation verwendet?

Abhängig von Ihren Anforderungen kann es in Ordnung sein, es einfach in einer kopflosen virtuellen Box zu installieren, die beim Booten auf Autostart eingestellt ist. Es gibt Ihnen die Möglichkeit, einen tatsächlichen LAMP-Stack mit minimalem Overhead auszuführen.