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.