Wie man mysqld aufhält


179

Um den Startbefehl für mysqld (mit einem Mac) herauszufinden, kann ich Folgendes tun:

ps aux|grep mysql

Ich erhalte die folgende Ausgabe, mit der ich den MySQL-Server starten kann.

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

Wie würde ich den notwendigen Befehl finden, um MySQL von der Kommandozeile aus zu stoppen?



Diese Arbeit für mich: askubuntu.com/questions/529302/how-to-stop-mysqld-process Vielleicht funktioniert es auch für dich, Bruder. [] 's
lam3

1
Die Frage war für einen Mac.
Snowcrash

Wenn Sie über den verbunden sind mysqlClient können Sie nur geben Sie SHUTDOWNan der Eingabeaufforderung .
chb

Antworten:


305

Versuchen:

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

Oder:

sudo mysqld stop

Oder:

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

Oder:

sudo mysql.server stop

Wenn Sie Launchctl unter OSX installieren , können Sie Folgendes versuchen:

MacPorts

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

Hinweis: Dies bleibt nach dem Neustart bestehen.

Homebrew

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

Binärinstallationsprogramm

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

Ich fand das in: https://stackoverflow.com/a/102094/58768


9
Danke, /usr/local/mysql/bin/mysqladmin -u root shutdownhabe den Trick gemacht.
David542

5
Wenn es sich um eine Entwicklungsumgebung handelt und kein Passwort definiert ist, würde dies funktionieren:/usr/local/mysql/bin/mysqladmin -u root shutdown
Laurent

2
Die mittlere Option funktionierte, aber nur mit dem Zusatz "Service": Service Mysqld Stop
Plaidcorp

11
Oh mein Gott, warum benutze ich all diese oben und es läuft immer noch? Es ist wie ein Virus!
Zen

4
Was ist, wenn ich MySQL als laufen lasse $ mysqld? (nur im Terminal). Wie würde ich es dann töten? Weil STRG-C nicht funktioniert. Ich weiß, killdass ich es töten würde, aber ich frage mich nur, ob es eine Escape-Sequenz gibt, die mysqld abhört.
Matej

33

Es gibt eine alternative Möglichkeit, den Daemon-Prozess einfach durch Aufrufen zu beenden

kill -TERM PID

wobei PIDder Wert in der Datei gespeichert ist mysqld.pidoder die mysqld Prozess - ID , die durch die Ausgabe des Befehls erhalten werden kann ps -a | grep mysqld.


4
Dies ist gut zu wissen, dass b / c den Prozess tatsächlich beendet, nachdem er immer wieder neu gestartet wurde, als "kill -9 PID" es einfach nicht tat.
Lord B8r

2
@ lordB8r was bedeutet b / c das? Ich habe versucht, -9 mysqld (pid) zu töten, aber es startet sofort danach neu, das quält mich.
Zen

@Zen Verwenden Sie kill -TERM mysqld(pid)stattdessen und der gesamte Prozessbaum wird beendet, sodass er nicht erneut angezeigt werden kann.
Pirooz

1
Ja, der Betrieb ist sicher, da RDBs ACID-Eigenschaften garantieren.
Pirooz

2
Ich habe die kill -term PID ausprobiert und sie hat sie getötet, aber wenn ich ps -a | ausführe grep mysqld, der Prozess mysqld wird erneut mit einer neuen PID gestartet.
2myCharlie

19

Ich habe die Antwort hier gefunden.

Verwenden

sudo stop mysql

Dies funktionierte für meine AWS Ubuntu MySQL-Installation. Die 'kill -TERM pid' hat in meinem Fall nicht funktioniert. Vielen Dank.
Yoshi

sudo mysql stopfür mich (Digital Ocean - Ghost-512mb-lon1-01).
Leo

Ich habe diesen Fehler dafür erhalten: FEHLER 1045 (28000): Zugriff für Benutzer 'root' @ 'localhost' verweigert (mit Passwort: NO)
2myCharlie

19

Unter Windows können Sie diesen Befehl direkt ausführen, wenn sich mysql / bin in Ihrem Pfad befindet.

mysqladmin -u root -p shutdown


10

Verwenden Sie für das binäre Installationsprogramm Folgendes:

stoppen:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

anfangen:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

Neustarten:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

10

Unter OSX 10.8 und höher ist das Steuerelement für MySQL in den Systemkonfigurationen verfügbar. Öffnen Sie die Systemeinstellungen, klicken Sie auf MySQL (normalerweise ganz unten) und starten / stoppen Sie den Dienst in diesem Bereich. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html

Die plist-Datei befindet sich jetzt unter /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist


4
Für die Aufzeichnung habe ich alle oben genannten Methoden ausprobiert und keine davon hat dazu beigetragen, den zusätzlichen MySQL-Prozess zu stoppen. Das Durchsuchen der Systemeinstellungen und das Suchen nach MySQL hat den Trick getan - danke!
Andycrone

Danke, das hat funktioniert. Hier finden Sie auch die Schaltfläche zum Deinstallieren.
smcg

Dies funktionierte für die meisten: gist.github.com/vitorbritto/0555879fe4414d18569d, aber um sicher zu gehen, versuchen Sie Schritt 7 vor Schritt 6
ppostma1

9

Arbeitete für mich auf dem Mac

a) Stoppen Sie den Prozess

sudo launchctl list | grep -i mysql

Wenn das Ergebnis Folgendes anzeigt : "xxx.xxx.mysqlxxx"

sudo launchctl remove xxx.xxx.mysqlxxx

Beispiel: sudo launchctl remove org.macports.mysql56-server

b) Deaktivieren Sie den automatischen Start des Prozesses

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

Beispiel: sudo launchctl unload -wF /Library/LaunchDaemons/org.macports.mysql56-server.plist

  • Starten Sie schließlich Ihren Mac neu

Hinweis: In einigen Fällen müssen Sie vor dem erneuten Versuch b) einen Neustart durchführen, wenn Sie zuerst "a)" versucht haben .


6

Töten ist definitiv der falsche Weg! Die PID bleibt erhalten, Replikationsjobs werden beendet usw. usw.

STOP MySQL Server

/ sbin / service mysql stop

STARTEN Sie MySQL Server

/ sbin / service mysql start

Starten Sie MySQL Server neu

/ sbin / service mysql neu starten

Vielleicht wird Sudo benötigt, wenn Sie nicht genug Rechte haben


5

Versuchen Sie, mysqld viermal hintereinander zu töten. Es ist das einzige, was für mich funktioniert hat ...

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

Töte es einfach immer und immer wieder, bis du "mysqld: kein Prozess gefunden" siehst.


Danke hat für meinen Fall funktioniert
Joyce obi

4

Was für mich unter CentOS 6.4 funktionierte, war das Ausführen service mysqld stopals Root-Benutzer.

Ich habe meine Antwort auf nixCraft gefunden .


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

Ich benutze dies, um das Installationsproblem von MySQL 5.6 in Ubuntu 15.10 über diesen Link zu lösen .

Während dieser Installation stoße ich auf das Problem:

"mysqld_safe A mysqld process already exists"

Stoppen Sie einfach vollständig mysqld, mysqld_safe, mysql löst das Problem.


2

Wenn mein MySQL weiterhin neu startet,
sudo rm -rf /usr/local/var/mysql/dev.work.err
mysql.server stop
hat es für mich funktioniert.


mysql.server stop hat diesen Fehler ausgelöst: zsh: Befehl nicht gefunden: mysql.server
2myCharlie

1

Um den Autostart von MySQL beim Booten zu stoppen, funktionierte Folgendes für mich, wenn MySQL 8.0.12mit Homebrew in installiert wurde macOS Mojave 10.14.1:

rm -rf ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

1

So stoppen Sie die MariaDB- und MySQL-Serverinstanz:

sudo mysqladmin shutdown

So starten Sie die MariaDB- und MySQL-Serverinstanz:

mysqld &

So ändern Sie den Datenbesitz für die MariaDB- und MySQL-Serverinstanz:

sudo chown -R 755 /usr/local/mariadb/data

0

Für MySQL 5.7, das von einer Binärdatei auf MacOS heruntergeladen wurde:

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

Für MAMP

  1. Stoppen Sie Server (aber Sie können feststellen, dass MySQL eingeschaltet bleibt)
  2. Entfernen oder umbenennen /Applications/MAMP/tmp/mysql/, die die mysql.pidund mysql.sock.lockDateien enthält
  3. Wenn Sie zu Mamp zurückkehren, sehen Sie, dass MySQL jetzt deaktiviert ist. Sie können die Server erneut starten.

Dies gibt '/ Applications / MAMP / tmp / mysql' für UNIX-Socket-Datei existiert nicht 'in mysql_error_log-Datei
Abdullah Tahan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.