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.