uruchom serwer MySQL z wiersza poleceń w systemie Mac OS Lion

162

Zainstalowałem mySQL na moim Macu. Oprócz uruchamiania serwera SQL za pomocą narzędzia mySQL.prefPane zainstalowanego w Preferencjach systemowych, chcę poznać instrukcję uruchamiania z wiersza poleceń. Robię co następuje:

Po

su root

Uruchamiam serwer mySQL z wiersza poleceń, generuje błąd jak poniżej:

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

111028 16:57:43 [Ostrzeżenie] Ustawienie lower_case_table_names = 2, ponieważ system plików /usr/local/mysql-5.5.17-osx10.6-x86_64/data/ nie rozróżnia wielkości liter

111028 16:57:43 [BŁĄD] Błąd krytyczny: Przeczytaj rozdział „Bezpieczeństwo” podręcznika, aby dowiedzieć się, jak uruchomić mysqld jako root!

111028 16:57:43 [BŁĄD] Przerwanie

111028 16:57:43 [Uwaga] / usr / local / mysql / bin / mysqld: zamknięcie zakończone

Proszę pomóż mi!

EDYTOWAĆ:

Powód jest tutaj: http://dev.mysql.com/doc/refman/5.5/en/changing-mysql-user.html

Rozwiązanie jest opisane w odpowiedzi xdazz poniżej.

vietstone
źródło
Zobacz moją
redakcję
1
W systemie macOS użyj, mdfind mysql.serveraby zobaczyć, gdzie znajduje się plik wykonywalny serwera
Benjamin Crouzier

Odpowiedzi:

187

Próbować /usr/local/mysql/bin/mysqld_safe

Przykład:

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)

Możesz również dodać je do swoich skryptów startowych bash:

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
źródło
1
To działa. Ale nie mogę wyjść ze wskaźnika z wykonania polecenia. Jak zatrzymać to, gdy działa okno terminala.
vietstone
11
Zauważ, że ta odpowiedź nie ma zastosowania, jeśli zainstalowałeś mysql z Homebrew.
cbmanica
Dla mnie okazało się, że to po prostu „mysqld <action>”, plik znajduje się w / usr / local / mysql / bin / mysqld
crobicha
233

Po prostu:

mysql.server start

mysql.server stop

mysql.server restart

user2792249
źródło
1
Dziękuję bardzo! Przeczytałem tak wiele rzeczy, nawet dokumenty - i żadna z nich nie działała dla mnie, ale to zadziałało !!!
HolyMoly
6
oto, co dostałem dla tego:. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXX.pid).
nyxee
@nyxee Być może będziesz musiał go uruchomić sudo!
anuveyatsu
Święta krowa. Dziękuję Ci!
Karl Johan Vallner,
Znacznie lepsze i proste. Dzięki
Prabhakar Undurthi,
135

Też lubię aliasy ... jednak na początek miałem problemy z MySQLCOM ... cicho nie działa ... Moje obejście jest podobne do innych ... ~ / .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.
źródło
Inne odpowiedzi nie powiodły się na OSX 10.7.5 z najnowszą instalacją MySQL. Ten załatwił sprawę - dzięki!
Irongaze.com,
@ Irongaze.com Cieszę się, że mogłem pomóc.
Eddie B
Dzięki!! Chciałem uruchomić mysql i móc zamknąć terminal, a to zadziałało. Jaka jest różnica między tym sposobem uruchomienia a sposobem mysqld_safe?
oli206
1
Z mysqld_safe vs mysql.server Zanim mysql.server uruchomi serwer, zmienia lokalizację na katalog instalacyjny MySQL, a następnie wywołuje mysqld_safe.
Eddie B
Doskonała odpowiedź! Proste i skuteczne.
Starkers
84

Jak stwierdza ten pomocny artykuł: W systemie OS X, aby uruchomić / zatrzymać MySQL z wiersza poleceń:

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

W systemie Linux uruchamianie / zatrzymywanie z wiersza poleceń:

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

Niektóre wersje Linuksa oferują również polecenie usługi

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

lub

 # service mysql start 
 # service mysql stop 
 # service mysql restart 
David
źródło
nie ma takiego pliku lub katalogu z/usr/local/mysql/support-files/mysql.server stop
nyxee
71

Jeśli zainstalowałeś go za pomocą homebrew, plik binarny będzie podobny do

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

co oznacza, że ​​możesz zacząć od

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

i skończ z tym

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

Edycja: Jak wspomniał Jacob Raccuia, upewnij się, że umieściłeś w ścieżce odpowiednią wersję MySQL.

Alex K.
źródło
1
Tak!!!!!! Nie zdawałem sobie sprawy, że zainstalowałem to w ten sposób! upewnij się, że w ścieżce została umieszczona odpowiednia wersja mysql
Jacob Raccuia.
31
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

utwórz alias w .bash_profile

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

i jeśli próbujesz uruchomić jako root, użyj trybu awaryjnego

sudo ./bin/mysqld_safe

jeśli nadal masz problemy z uruchomieniem, zalecana lektura: mysql5.58 unstart server w systemie Mac OS 10.6.5

Dennis
źródło
27

może twój serwer mysql nie został uruchomiony

możesz spróbować

/usr/local/bin/mysql.server start

42wolf
źródło
10

U mnie to rozwiązanie działało na Mac Sierra OS:

sudo /usr/local/bin/mysql.server start
Starting MySQL
SUCCESS!
shacharsol
źródło
9

Jeśli jest zainstalowany z homebrew, spróbuj po prostu wpisać mysql.server w terminalu i to powinno być to. AFAIK, to plik wykonywalny będzie znajdować się w /usr/local/bin/mysql.server.

Jeśli nie, zawsze możesz uruchomić polecenie „locate mysql.server”, które powie Ci, gdzie znaleźć taki plik.

Nevio Vesić
źródło
5

Jeśli masz MySQL zainstalowany przez Homebrew, te polecenia pomogą Ci:

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

# For stoping
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Mario Uher
źródło
4
LauchAgent dla mysql domyślnie nie istniał. Running brew info mysql(czego nauczyłem się z: stackoverflow.com/a/4622474/459863 ) stwierdził, że najpierw muszę uruchomić ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents. Potem zadziałało.
Wolfram Arnold
5

My MySQL jest instalowany przez homebrew na OS X ElCaptain. To, co naprawiło, działało

brew doctor

  • co sugerowało, żebym biegał

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

Następnie:

brew update
mysql.server start

mysql jest teraz uruchomiony

Merhawi Fissehaye
źródło
Nie wiem, dlaczego ktoś przegłosował. Zdarzyło mi się to podczas aktualizacji naparu. Uruchomienie brew doctora, a następnie wykonanie instrukcji dodania określonej ścieżki do mojego profilu bash rozwiązało problemy. Dzieki za sugestie.
Nostalg.io
1

Błąd uruchamiania serwera MySql „Serwer zakończył pracę bez aktualizacji pliku PID”

jeśli zainstalowałeś mysql z homebrew

zamknij serwer mysql z preferencji 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
źródło
0
111028 16:57:43 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

Czy ustawiłeś hasło roota dla swojej instalacji mysql? Różni się to od hasła roota sudo. Próbować/usr/local/mysql/bin/mysql_secure_installation

Hoppo
źródło
Kiedy uruchomiłem powyższą linię, otrzymałem: Nie można znaleźć klienta „mysql” w PATH lub ./bin
vietstone