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.

vietstone
quelle
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'
xdazz
quelle
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

user2792249
quelle
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' 
Eddie B.
quelle
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 
David
quelle
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.

Alex K.
quelle
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

Dennis
quelle
27

Vielleicht hat Ihr MySQL-Server nicht gestartet

Du kannst es versuchen

/usr/local/bin/mysql.server start

42wolf
quelle
10

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

sudo /usr/local/bin/mysql.server start
Starting MySQL
SUCCESS!
Shacharsol
quelle
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.

Nevio Vesić
quelle
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
Mario Uher
quelle
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

Merhawi Fissehaye
quelle
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/[email protected]/5.7.27_1 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/[email protected]/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
NIRAJ KUMAR
quelle
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

Hoppo
quelle
Wenn ich die obige Zeile ausgeführt habe, wird Folgendes
angezeigt