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ń?



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


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.


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

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


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

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


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) .


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


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”.


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 .


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.


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.


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

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

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

-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.

da to „/ Applications / MAMP / tmp / mysql” dla pliku gniazda UNIX nie istnieje ”w pliku mysql_error_log
— Abdullah Tahan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.