Jak zatrzymać mysqld

181

Aby znaleźć komendę start dla mysqld (za pomocą Maca), mogę:

ps aux|grep mysql

Otrzymuję następujące dane wyjściowe, które pozwalają mi uruchomić serwer mysql.

/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=...

Jak znaleźć niezbędne polecenie, aby zatrzymać mysql z wiersza poleceń?

David542
źródło
1
Czy sprawdziłeś stackoverflow.com/questions/100948/…
dhable,
Ta praca dla mnie: askubuntu.com/questions/529302/how-to-stop-mysqld-process Może to zadziała dla ciebie zbyt stary. [] 's
lam3
1
Pytanie dotyczyło komputera Mac.
Snowcrash
Jeśli masz połączenie za pośrednictwem mysqlklienta, możesz po prostu wpisać SHUTDOWNpolecenie .
chb

Odpowiedzi:

309

Próbować:

/usr/local/mysql/bin/mysqladmin -u root -p shutdown 

Lub:

sudo mysqld stop

Lub:

sudo /usr/local/mysql/bin/mysqld stop

Lub:

sudo mysql.server stop

Jeśli zainstalujesz Launchctl w OSX , możesz spróbować:

MacPorts

sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql.plist

Uwaga: jest to trwałe po ponownym uruchomieniu.

Homebrew

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Instalator binarny

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

Znalazłem to w: https://stackoverflow.com/a/102094/58768

squiter
źródło
9
Dzięki, /usr/local/mysql/bin/mysqladmin -u root shutdownzałatwiłem sprawę.
David542
5
Jeśli jest to środowisko deweloperskie i nie zdefiniowano hasła, działałoby to:/usr/local/mysql/bin/mysqladmin -u root shutdown
laurent
2
środkowa opcja działała, ale tylko z dodatkiem „service”: service mysqld stop
plaidcorp
11
O mój boże, dlaczego używam tych wszystkich wyżej i nadal działa? To jest jak wirus!
Zen
4
Co jeśli używam mysql as $ mysqld? (tylko w terminalu). Jak więc miałbym to zabić? Ponieważ CTRL-C nie działa .. Wiem, że killby go zabił, ale zastanawiam się, czy istnieje sekwencja ucieczki, której słucha mysqld.
Matej
33

Istnieje alternatywny sposób po prostu zabicia procesu demona przez wywołanie

kill -TERM PID

gdzie PIDjest wartością przechowywaną w pliku mysqld.pidlub identyfikatorem procesu mysqld, który można uzyskać, wydając polecenie ps -a | grep mysqld.

Pirooz
źródło
4
miło jest wiedzieć, że b / c faktycznie zabija proces po tym, jak się odradza, gdy „kill -9 PID” po prostu tego nie zrobił.
lordB8r,
2
@ lordB8r co to znaczy b / c? Próbowałem zabić -9 mysqld (pid), ale zaraz potem zrestartował się, torturuje mnie to.
Zen
@Zen Użyj kill -TERM mysqld(pid)zamiast tego, a całe drzewo procesów zostanie zabite, co nie pozwoli na jego odrodzenie.
Pirooz
1
Tak, operacja jest bezpieczna, ponieważ RDB gwarantują właściwości ACID.
Pirooz
2
Próbowałem zabić -term PID i to zabiło go, ale jeśli uruchomię ps -a | grep mysqld, proces mysqld jest uruchamiany ponownie z nowym PID.
2myCharlie
19

Tutaj znalazłem odpowiedź.

Posługiwać się

sudo stop mysql
bb94
źródło
Działa to w mojej instalacji AWS Ubuntu MySQL. Pid „kill -TERM” nie zadziałał w mojej sprawie. Dzięki.
yoshi
sudo mysql stopdla mnie (Digital Ocean - ghost-512mb-lon1-01).
Lew
Dostałem ten błąd za to: ERROR 1045 (28000): Access denied for user 'root' @ 'localhost' (using password: NO)
2myCharlie
19

W systemie Windows możesz uruchomić to polecenie bezpośrednio, jeśli na ścieżce znajduje się mysql / bin.

mysqladmin -u root -p shutdown
Lokinder Singh Chauhan
źródło
14

Zrobiłem to z następną komendą:

sudo killall mysqld
Vito Gravano
źródło
10

w przypadku instalatora binarnego użyj tego:

zatrzymać:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

zacząć:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

zrestartować:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
Steven Lizarazo
źródło
10

W OSX 10.8 i nowszych kontrola dla MySQL jest dostępna w Konfiguracjach systemowych. Otwórz Preferencje systemowe, kliknij Mysql (zwykle na samym dole) i uruchom / zatrzymaj usługę z tego panelu. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html

Plik Plist znajduje się teraz w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

ppostma1
źródło
4
Dla przypomnienia wypróbowałem wszystkie powyższe metody i żadna z nich nie działała, aby zatrzymać dodatkowy proces MySQL. Przejście przez Preferencje systemowe i poszukiwanie MySQL załatwiło sprawę - dziękuję!
andycrone
Dzięki, działało. Tutaj również znajduje się przycisk odinstalowywania.
smcg
To działało dla większości: gist.github.com/vitorbritto/0555879fe4414d18569d, ale dla bezpieczeństwa spróbuj Krok 7 przed krokiem 6
ppostma1
9

Pracował dla mnie na komputerze Mac

a) Zatrzymaj proces

sudo launchctl list | grep -i mysql

Jeśli wynik pokazuje coś takiego jak: „xxx.xxx.mysqlxxx”

sudo launchctl remove xxx.xxx.mysqlxxx

Przykład: sudo launchctl remove org.macports.mysql56-server

b) Wyłącz, aby automatycznie uruchomić proces

sudo launchctl unload -wF /Library/LaunchDaemons/xxx.xxx.mysqlxxx.plist

Przykład: sudo launchctl unload -wF /Library/LaunchDaemons/org.macports.mysql56-server.plist

  • Na koniec uruchom ponownie komputer Mac

Uwaga: W niektórych przypadkach, jeśli najpierw próbowałeś „a)” , musisz ponownie uruchomić komputer przed próbą b) .

ceskamx
źródło
6

Kill to zdecydowanie zły sposób! PID pozostanie, Replikacje zostaną zabite itp. Itp.

STOP MySQL Server

/ sbin / service mysql stop

Uruchom serwer MySQL

/ sbin / service mysql start

ZRESTARTUJ MySQL Server

/ sbin / service mysql restart

Być może sudo będzie potrzebne, jeśli nie masz wystarczających praw

Andreas Karz
źródło
5

Spróbuj zabić mysqld cztery razy z rzędu. To jedyna rzecz, która działała dla mnie ...

root@ubuntu:/etc/init# killall -KILL mysqld 
root@ubuntu:/etc/init# killall -KILL mysqld 
root@ubuntu:/etc/init# killall -KILL mysqld 
root@ubuntu:/etc/init# killall -KILL mysqld 
mysqld: no process found

Po prostu zabijaj go w kółko, aż zobaczysz „mysqld: nie znaleziono procesu”.

arnoldbird
źródło
Dzięki działała moja sprawa
Joyce obi
4

To, co działało dla mnie w CentOS 6.4, działało service mysqld stopjako użytkownik root.

Znalazłem odpowiedź na nixCraft .

JWF
źródło
2
/etc/init.d/mysql stop<br>
service mysql stop<br>
killall -KILL mysql mysqld_safe mysqld<br>

When you see the following information, you success

mysql: no process found<br>
mysqld_safe: no process found<br>
mysqld: no process found

Używam tego do rozwiązania problemu instalacyjnego MySQL 5.6 w Ubuntu 15.10 za pomocą tego linku .

Podczas tej instalacji napotyka problem:

"mysqld_safe A mysqld process already exists"

Wystarczy całkowicie zatrzymać mysqld, mysqld_safe, mysql rozwiązuje problem.

Charles
źródło
2

Jeśli mój mysql nadal się uruchamia,
sudo rm -rf /usr/local/var/mysql/dev.work.err
mysql.server stop
zadziałało dla mnie.

Portatlas
źródło
mysql.server stop monitował o błąd: zsh: komenda nie została znaleziona:
mysql.server
1

Aby zatrzymać autostart mysql podczas rozruchu, działało dla mnie z mysql 8.0.12zainstalowanym za pomocą Homebrew w macOS Mojave 10.14.1:

rm -rf ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Vikram Hosakote
źródło
1

Aby zatrzymać instancję serwera MariaDB i MySQL:

sudo mysqladmin shutdown

Aby uruchomić instancję serwera MariaDB i MySQL:

mysqld &

Aby zmienić własność danych dla instancji serwera MariaDB i MySQL:

sudo chown -R 755 /usr/local/mariadb/data
Oleksii Kyslytsyn
źródło
0

W przypadku mysql 5.7 pobranego z pliku binarnego na MacOS:

sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
ehacinom
źródło
-1

Dla MAMP

  1. Zatrzymaj serwery (ale możesz zauważyć, że MySQL pozostaje włączony)
  2. Usuń lub zmień nazwę, /Applications/MAMP/tmp/mysql/która przechowuje pliki mysql.pidimysql.sock.lock
  3. Gdy wrócisz do Mampa, zobaczysz, że MySQL jest teraz wyłączony. Możesz ponownie uruchomić serwery.
kevnk
źródło
da to „/ Applications / MAMP / tmp / mysql” dla pliku gniazda UNIX nie istnieje ”w pliku mysql_error_log
Abdullah Tahan