Ich habe MySQL über MacPorts installiert . Was ist der Befehl, den ich brauche, um den Server zu stoppen (ich muss testen, wie sich meine Anwendung verhält, wenn MySQL tot ist)?
Ich habe MySQL über MacPorts installiert . Was ist der Befehl, den ich brauche, um den Server zu stoppen (ich muss testen, wie sich meine Anwendung verhält, wenn MySQL tot ist)?
Antworten:
Es gibt verschiedene Fälle, je nachdem, ob Sie MySQL mit dem offiziellen Binärinstallationsprogramm, mit MacPorts oder mit Homebrew installiert haben :
brew services start mysql
brew services stop mysql
brew services restart mysql
sudo port load mysql57-server
sudo port unload mysql57-server
Hinweis: Dies bleibt nach einem Neustart bestehen.
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
launchctl (un)load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
brew services stop mysql
und verwenden brew services start mysql
. (Auch restart
und run
das beginnt nur für die aktuelle Sitzung.)
Für diejenigen, die MySQL mit Homebrew installiert haben, verwenden Sie die folgenden Befehle, um MySQL zu starten, zu stoppen oder neu zu starten
Braustart
/usr/local/bin/mysql.server start
Brew Neustart
/usr/local/bin/mysql.server restart
Braustopp
/usr/local/bin/mysql.server stop
/usr/local/Cellar/mysql@5.7/5.7.23/bin/
Sie können jederzeit den Befehl "mysqladmin shutdown" verwenden.
sudo /opt/local/lib/mysql56/bin/mysqladmin shutdown
Wenn Ihr MySQL von MacPorts kommt
Wenn Sie verwenden homebrew
, können Sie verwenden
brew services restart mysql
brew services start mysql
brew services stop mysql
für eine Liste der verfügbaren Dienste
brew services list
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop
Sie können hier auch Start und Neustart verwenden. Ich habe dies anhand des Inhalts von /Library/LaunchDaemons/org.macports.mysql.plist gefunden.
launchctl
Methode funktioniert NICHT und kann tatsächlich Probleme mit dem PID / DB-Start verursachen.
Anscheinend willst du:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
Lesen Sie weiter in Jeez People, hören Sie auf, sich über die Installation von RMagic zu ärgern .
Versuchen
sudo <path to mysql>/support-files/mysql.server start
sudo <path to mysql>/support-files/mysql.server stop
Sonst versuchen:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop<br>
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
Ich stellte jedoch fest, dass die zweite Option nur funktionierte (OS X 10.6, MySQL 5.1.50), wenn die .plist geladen wurde mit:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist
PS: Ich habe auch festgestellt, dass ich die .plist entladen musste, um eine unabhängige Installation von MAMP- MySQL zu erhalten , damit ich richtig starten / stoppen kann. Nachdem Sie dies ausgeführt haben, startet MAMP-MySQL einwandfrei:
sudo launchctl entlade -w /Library/LaunchDaemons/com.mysql.mysqld.plist
Auf meinem Mac OSX Yosemite 10.10. Dieser Befehl hat funktioniert:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysql.plist
Sie finden Ihre MySQL-Datei im Ordner / Library / LaunchDaemons /, um sie auszuführen
mysqld
Prozess sofort nach dem Stoppen neu gestartet.
Verwenden:
sudo mysqladmin shutdown --user=*user* --password=*password*
Man könnte wahrscheinlich davonkommen, wenn man kein Sudo benutzt . Der Benutzer kann beispielsweise root sein (dh der MySQL-root-Benutzer).
Wenn alles andere fehlschlägt, können Sie einfach den rücksichtslosen Ansatz wählen und den Prozess beenden, in dem MySQL manuell ausgeführt wird.
Das ist,
ps -Af
Um alle Prozesse aufzulisten , führen Sie " kill <pid>
" aus, wobei <pid>
die Prozess-ID des MySQL-Daemons (mysqld) angegeben ist.
Neueste OSX (10.8) und MySQL 5.6, die Datei befindet sich unter Launch Daemons und ist com.oracle.oss.mysql.mysqld.plist. Es wird eine Option unter Systemoptionen angezeigt, normalerweise am Ende der Liste. Gehen Sie also zu den Systemeinstellungen, klicken Sie auf MySQL und deaktivieren Sie es im Optionsfeld. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html
Für mich funktioniert es mit einem "mysql5"
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
In meinem Fall wurde der Neustart fortgesetzt, sobald ich den Prozess mit PID beendet hatte. Auch der brew stop
Befehl funktionierte nicht, da ich ihn ohne Homebrew installiert habe. Dann ging ich zu den Mac-Systemeinstellungen und wir haben dort MySQL installiert. Öffnen Sie es einfach und stoppen Sie den MySQL-Server und Sie sind fertig. Hier im Screenshot finden Sie MySQL unten in den Systemeinstellungen.
Ich habe mysql5 und mysql55 über Macports installiert. Für mich befinden sich die hier genannten Dateien an folgenden Stellen:
(mysql55-server) /opt/local/etc/LaunchDaemons/org.macports.mysql55-server/org.macports.mysql55-server.plist
(mysql5) /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist
Halten Sie also für diese Arbeiten an:
mysql55-server:
sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql55-server/org.macports.mysql55-server.plist
mysql5:
sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist
Sie können überprüfen, ob der Dienst noch ausgeführt wird mit:
ps ax | grep mysql
Weiter können Sie die Protokolldateien in meinem Fall hier überprüfen:
mysql55-server
sudo tail -n 100 /opt/local/var/db/mysql55/<MyName>-MacBook-Pro.local.err
...
130213 08:56:41 mysqld_safe mysqld from pid file /opt/local/var/db/mysql55/<MyName>-MacBook-Pro.local.pid ended
mysql5:
sudo tail -n 100 /opt/local/var/db/mysql5/<MyName>-MacBook-Pro.local.err
...
130213 09:23:57 mysqld ended
Wenn Sie das MySQL 5-Paket mit MacPorts installiert haben:
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql.plist
Oder
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5-devel.plist
wenn Sie das mysql5-devel
Paket installiert haben .
Nachdem Sie alle diese Befehlszeilen ausprobiert haben und es nicht funktioniert. Ich muss folgende Dinge tun:
mv /usr/local/Cellar/mysql/5.7.16/bin/mysqld /usr/local/Cellar/mysql/5.7.16/bin/mysqld.bak
mysql.server stop
Auf diese Weise funktioniert der mysqld-Prozess. Aber das /var/log/system.log hat viel Müll:
Jul 9 14:10:54 xxx com.apple.xpc.launchd[1] (homebrew.mxcl.mysql[78049]): Service exited with abnormal code: 1
Jul 9 14:10:54 xxx com.apple.xpc.launchd[1] (homebrew.mxcl.mysql): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.