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.