Starten Sie den MySQL-Server über die Befehlszeile unter Mac OS Lion


162

Ich habe mySQL für meinen Mac installiert. Neben dem Starten des SQL-Servers mit dem in den Systemeinstellungen installierten Tool mySQL.prefPane möchte ich die Anweisung zum Starten über die Befehlszeile kennen. Ich mache wie folgt:

Nach dem

su root

Ich starte den mySQL-Server über die Befehlszeile. Er erzeugt den folgenden Fehler:

sh-3.2 # / usr / local / mysql / bin / mysqld

111028 16:57:43 [Warnung] Das Setzen von small_case_table_names = 2, da das Dateisystem für /usr/local/mysql-5.5.17-osx10.6-x86_64/data/ die Groß- und Kleinschreibung nicht berücksichtigt

111028 16:57:43 [ FEHLER ] Schwerwiegender Fehler: Bitte lesen Sie den Abschnitt "Sicherheit" im Handbuch, um herauszufinden, wie Sie mysqld als root ausführen können!

111028 16:57:43 [ FEHLER ] Abbruch

111028 16:57:43 [Hinweis] / usr / local / mysql / bin / mysqld: Herunterfahren abgeschlossen

Bitte hilf mir!

BEARBEITEN:

Der Grund ist hier: http://dev.mysql.com/doc/refman/5.5/en/changing-mysql-user.html

Eine Lösung wird in der Antwort von xdazz unten beschrieben.


Siehe meine Bearbeitung bei der Frage für die Erklärung
— vietstone

1
Verwenden Sie unter macOS, um mdfind mysql.serverzu sehen, wo sich Ihre ausführbare Serverdatei befindet
— Benjamin Crouzier

Antworten:


187

Versuchen /usr/local/mysql/bin/mysqld_safe

Beispiel:

shell> sudo /usr/local/mysql/bin/mysqld_safe
(Enter your password, if necessary)
(Press Control-Z)
shell> bg
(Press Control-D or enter "exit" to exit the shell)

Sie können diese auch zu Ihren Bash-Startskripten hinzufügen:

export MYSQL_HOME=/usr/local/mysql
alias start_mysql='sudo $MYSQL_HOME/bin/mysqld_safe &'
alias stop_mysql='sudo $MYSQL_HOME/bin/mysqladmin shutdown'

1
Es klappt. Aber ich kann den Zeiger nicht von der Ausführung des Befehls verlassen. So stoppen Sie es, wenn das Terminalfenster ausgeführt wird.
— vietstone

11
Beachten Sie, dass diese Antwort nicht gilt, wenn Sie MySQL mit Homebrew installiert haben.
— cbmanica

Für mich war es nur "mysqld <Aktion>", die Datei befindet sich unter / usr / local / mysql / bin / mysqld
— crobicha

232

Einfach:

mysql.server start

mysql.server stop

mysql.server restart


1
ich danke dir sehr! Ich habe so viele Dinge durchgelesen, sogar die Dokumente - und nichts davon hat bei mir funktioniert, aber das hat es geschafft !!!
— HolyMoly

6
Das habe ich für diesen bekommen:. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXX.pid).
— Nyxee

@nyxee Möglicherweise müssen Sie es mit ausführen sudo!
— Anuveyatsu

Heiliger Bimbam. Danke dir!
— Karl Johan Vallner

Viel besser und einfacher. Danke
— Prabhakar Undurthi

135

Ich mag die Aliase auch ... aber ich hatte zu Beginn Probleme mit MySQLCOM ... es schlägt stillschweigend fehl ... Meine Problemumgehung ähnelt den anderen ... ~ / .bash_aliases

alias mysqlstart='sudo /usr/local/mysql/support-files/mysql.server start'
alias mysqlstop='sudo /usr/local/mysql/support-files/mysql.server stop' 

Andere Antworten sind unter OSX 10.7.5 mit der neuesten MySQL-Installation fehlgeschlagen. Dieser hat es geschafft - danke!
— Irongaze.com

@ Irongaze.com Ich bin froh, dass ich helfen konnte.
— Eddie B

Vielen Dank!! Ich wollte MySQL starten und auch das Terminal schließen können, und das hat funktioniert. Was ist der Unterschied zwischen dieser Art des Startens und der Art mysqld_safe?
— oli206

1
Von mysqld_safe vs mysql.server Bevor mysql.server den Server startet, ändert es den Speicherort in das MySQL-Installationsverzeichnis und ruft dann mysqld_safe auf.
— Eddie B

Hervorragende Antwort! Einfach und effektiv.
— Starkers

84

In diesem hilfreichen Artikel heißt es: Unter OS X starten / stoppen Sie MySQL über die Befehlszeile:

sudo /usr/local/mysql/support-files/mysql.server start 
sudo /usr/local/mysql/support-files/mysql.server stop 

Unter Linux starten / stoppen Sie über die Befehlszeile:

/etc/init.d/mysqld start 
/etc/init.d/mysqld stop 
/etc/init.d/mysqld restart 

Einige Linux-Varianten bieten auch den Dienstbefehl an

# service mysqld start 
# service mysqld stop 
# service mysqld restart

oder

 # service mysql start 
 # service mysql stop 
 # service mysql restart 

Keine solche Datei oder Verzeichnis von/usr/local/mysql/support-files/mysql.server stop
— Nyxee

71

Wenn Sie es mit Homebrew installiert haben, wird die Binärdatei irgendwo wie sein

/usr/local/Cellar/mysql/5.6.10/bin/mysqld

was bedeutet, dass Sie damit beginnen können

/usr/local/Cellar/mysql/5.6.10/support-files/mysql.server start

und hör auf mit

/usr/local/Cellar/mysql/5.6.10/support-files/mysql.server stop

Bearbeiten: Wie Jacob Raccuia erwähnt hat, stellen Sie sicher, dass Sie die entsprechende Version von MySQL in den Pfad einfügen.


1
Ja!!!!!! Ich wusste nicht, dass ich es so installiert habe!
— Stellen

31
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

Alias ​​in .bash_profile erstellen

alias start_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM start"
alias stop_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM stop"

und wenn Sie versuchen, als Root ausgeführt zu werden, verwenden Sie den folgenden abgesicherten Modus

sudo ./bin/mysqld_safe

Wenn beim Starten immer noch Probleme auftreten, empfehlen wir Folgendes : mysql5.58 Server in Mac OS 10.6.5 nicht starten


27

Vielleicht hat Ihr MySQL-Server nicht gestartet

Du kannst es versuchen

/usr/local/bin/mysql.server start


10

Für mich funktionierte diese Lösung unter Mac Sierra OS:

sudo /usr/local/bin/mysql.server start
Starting MySQL
SUCCESS!

9

Wenn es mit Homebrew installiert ist, geben Sie es einfach mysql.serverin das Terminal ein und das sollte es sein. Die ausführbare AFAIK-Datei befindet sich unter /usr/local/bin/mysql.server.

Wenn nicht, können Sie immer folgender Adresse "find mysql.server" ausführen, um zu erfahren, wo sich eine solche Datei befindet.


5

Wenn Sie MySQL über Homebrew installiert haben, helfen Ihnen diese Befehle:

# For starting
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

# For stoping
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

4
Der LauchAgent für MySQL war standardmäßig nicht vorhanden. Beim Laufen brew info mysql(was ich gelernt habe von: stackoverflow.com/a/4622474/459863 ) wurde angegeben, dass ich zuerst laufen musste ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents. Danach hat es funktioniert.
— Wolfram Arnold

5

Mein MySQL wird über Homebrew unter OS X ElCaptain installiert. Was reparierte es lief

brew doctor

  • was darauf hindeutete, dass ich renne

sudo chown -R $(whoami):admin /usr/local

Dann:

brew update
mysql.server start

MySQL läuft jetzt


Ich weiß nicht, warum jemand herabgestimmt hat. Dies ist mir während eines Brau-Updates passiert. Das Ausführen von Brew Doctor und das Befolgen der Anweisungen zum Hinzufügen eines bestimmten Pfads zu meinem Bash-Profil haben die Probleme behoben. Danke für den Vorschlag.
— Nostalg.io

1

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

Wenn Sie MySQL von Homebrew installiert haben

Schließen Sie den MySQL-Server über die Einstellungen des Mac

ps ax | grep mysql

#kill all the mysql process running
sudo kill -9 pid

which mysql
/usr/local/bin/mysql
Admins-MacBook-Pro:bin username$ sudo mysql.server start

Starting MySQL
. SUCCESS! 

Admins-MacBook-Pro:bin username$ which mysql

/usr/local/bin/mysql

Admins-MacBook-Pro:bin username$ ps ax | grep mysql

54916 s005  S      0:00.02 /bin/sh 
/usr/local/Cellar/mysql@5.7/5.7.27_1/bin/mysqld_safe --datadir=/usr/local/var/mysql --pid-file=/usr/local/var/mysql/Admins-MacBook-Pro.local.pid
55012 s005  S      0:00.40 /usr/local/Cellar/mysql@5.7/5.7.27_1/bin/mysqld --basedir=/usr/local/Cellar/mysql@5.7/5.7.27_1 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql@5.7/5.7.27_1/lib/plugin --user=mysql --log-error=Admins-MacBook-Pro.local.err --pid-file=/usr/local/var/mysql/Admins-MacBook-Pro.local.pid
55081 s005  S+     0:00.00 grep mysql

0
111028 16:57:43 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

Haben Sie ein Root-Passwort für Ihre MySQL-Installation festgelegt? Dies unterscheidet sich von Ihrem sudo root Passwort. Versuchen/usr/local/mysql/bin/mysql_secure_installation


Wenn ich die obige Zeile ausgeführt habe, wird Folgendes
— angezeigt
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.