J'ai installé MySQL via MacPorts . De quelle commande ai-je besoin pour arrêter le serveur (je dois tester le comportement de mon application lorsque MySQL est mort)?
J'ai installé MySQL via MacPorts . De quelle commande ai-je besoin pour arrêter le serveur (je dois tester le comportement de mon application lorsque MySQL est mort)?
Réponses:
Il existe différents cas selon que vous avez installé MySQL avec le programme d'installation binaire officiel, en utilisant MacPorts ou en utilisant Homebrew :
brew services start mysql
brew services stop mysql
brew services restart mysql
sudo port load mysql57-server
sudo port unload mysql57-server
Remarque: ceci est persistant après un redémarrage.
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
et brew services start mysql
. (Aussi restart
, et run
qui commence pour la session en cours uniquement.)
Pour ceux qui ont utilisé homebrew pour installer MySQL, utilisez les commandes suivantes ci-dessous pour démarrer, arrêter ou redémarrer MySQL
Début de l'infusion
/usr/local/bin/mysql.server start
Redémarrage de l'infusion
/usr/local/bin/mysql.server restart
Arrêt de l'infusion
/usr/local/bin/mysql.server stop
/usr/local/Cellar/mysql@5.7/5.7.23/bin/
Vous pouvez toujours utiliser la commande "mysqladmin shutdown"
sudo /opt/local/lib/mysql56/bin/mysqladmin shutdown
si votre mysql provient de MacPorts
Si vous utilisez, homebrew
vous pouvez utiliser
brew services restart mysql
brew services start mysql
brew services stop mysql
pour une liste des services disponibles
brew services list
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop
Vous pouvez également utiliser démarrer et redémarrer ici. J'ai trouvé cela en regardant le contenu de /Library/LaunchDaemons/org.macports.mysql.plist.
launchctl
méthode ne fonctionne PAS, et en fait peut causer des problèmes avec le démarrage PID / DB et les gémissements.
Apparemment, vous voulez:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
Lisez plus en détail Jeez People, Arrêtez de vous inquiéter pour l'installation de RMagic .
Essayer
sudo <path to mysql>/support-files/mysql.server start
sudo <path to mysql>/support-files/mysql.server stop
Sinon essayez:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop<br>
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
Cependant, j'ai trouvé que la deuxième option ne fonctionnait (OS X 10.6, MySQL 5.1.50) que si le .plist était chargé avec:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist
PS: j'ai également trouvé que je devais décharger le .plist pour obtenir une installation indépendante de MAMP -MySQL pour démarrer / arrêter correctement. Après avoir exécuté ceci, MAMP-MySQL démarre très bien:
sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysqld.plist
Sur mon mac osx yosemite 10.10. Cette commande a fonctionné:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysql.plist
Vous pouvez trouver votre fichier mysql dans le dossier / Library / LaunchDaemons / à exécuter
mysqld
processus redémarre immédiatement après son arrêt.
Eh bien, si tout le reste échoue, vous pouvez simplement adopter une approche impitoyable et tuer le processus exécutant MySQL manuellement.
C'est,
ps -Af
pour lister tous les processus, puis faites " kill <pid>
" où <pid>
est l'ID de processus du démon MySQL (mysqld).
Derniers OSX (10.8) et mysql 5.6, le fichier est sous Launch Daemons et est com.oracle.oss.mysql.mysqld.plist. Il présente une option sous Options du système, généralement au bas de la liste. Allez donc dans les paramètres système, cliquez sur Mysql et désactivez-le dans la boîte d'options. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html
Pour moi, cela fonctionne avec un "mysql5"
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
Dans mon cas, il a continué à redémarrer dès que j'ai tué le processus en utilisant PID. De plus, la brew stop
commande ne fonctionnait pas comme je l'ai installée sans utiliser homebrew. Ensuite, je suis allé dans les préférences du système mac et MySQL y est installé. Ouvrez-le simplement et arrêtez le serveur MySQL et vous avez terminé. Ici, dans la capture d'écran, vous pouvez trouver MySQL en bas des préférences système.
J'ai installé mysql5 et mysql55 sur macports. Pour moi, les fichiers mentionnés ici se trouvent aux endroits suivants:
(serveur-mysql55) /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
Alors arrêtez-vous pour ces travaux comme ceci:
serveur mysql55:
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
Vous pouvez vérifier si le service est toujours en cours d'exécution avec:
ps ax | grep mysql
De plus, vous pouvez vérifier les fichiers journaux dans mon cas ici:
serveur mysql55
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
Si vous avez installé le package MySQL 5 avec MacPorts:
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql.plist
Ou
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5-devel.plist
si vous avez installé le mysql5-devel
package.
Après avoir essayé toutes ces lignes de commande, et cela ne fonctionne pas, je dois faire les choses suivantes:
mv /usr/local/Cellar/mysql/5.7.16/bin/mysqld /usr/local/Cellar/mysql/5.7.16/bin/mysqld.bak
mysql.server stop
De cette façon, le processus mysqld est parti. mais le /var/log/system.log contient beaucoup de déchets:
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.