Comment arrêter mysqld


181

Pour connaître la commande de démarrage de mysqld (en utilisant un mac), je peux faire:

ps aux|grep mysql

J'obtiens la sortie suivante, qui me permet de démarrer le serveur mysql.

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

Comment trouver la commande nécessaire pour arrêter mysql depuis la ligne de commande?



Ce travail pour moi: askubuntu.com/questions/529302/how-to-stop-mysqld-process Peut-être que cela fonctionnera pour vous aussi mon frère. [] 's
lam3

1
La question était pour un Mac.
Snowcrash

Si vous êtes connecté via le mysqlclient, vous pouvez simplement taper SHUTDOWNà l'invite .
chb

Réponses:


309

Essayer:

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

Ou:

sudo mysqld stop

Ou:

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

Ou:

sudo mysql.server stop

Si vous installez Launchctl sous OSX, vous pouvez essayer:

MacPorts

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

Remarque: ceci est persistant après le redémarrage.

Homebrew

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

Installateur binaire

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

J'ai trouvé cela dans: https://stackoverflow.com/a/102094/58768


9
Merci, a /usr/local/mysql/bin/mysqladmin -u root shutdownfait l'affaire.
David542

5
Si c'est un environnement de développement et qu'aucun mot de passe n'est défini, cela fonctionnerait:/usr/local/mysql/bin/mysqladmin -u root shutdown
laurent

2
l'option du milieu a fonctionné, mais seulement avec l'ajout de "service": service mysqld stop
plaidcorp

11
Oh mon dieu, pourquoi j'utilise tout ça ci-dessus et ça marche toujours? C'est comme un virus!
Zen

4
Et si j'exécute mysql en tant que $ mysqld? (juste dans le terminal). Comment le tuerais-je alors? Parce que CTRL-C ne fonctionne pas ... Je sais killqu'il le tuerait, mais je me demandais juste s'il y a une séquence d'échappement que mysqld écoute.
Matej

33

Il existe une autre façon de simplement tuer le processus démon en appelant

kill -TERM PID

PIDest la valeur stockée dans le fichier mysqld.pidou l'identifiant de processus mysqld qui peut être obtenu en exécutant la commande ps -a | grep mysqld.


4
c'est une bonne chose à savoir car il tue réellement le processus après qu'il ne cesse de réapparaître quand "kill -9 PID" ne l'a tout simplement pas fait.
lordB8r

2
@ lordB8r que signifie b / c? J'ai essayé kill -9 mysqld (pid) mais il redémarre immédiatement après cela, cela me torture.
Zen

@Zen Utilisez à la kill -TERM mysqld(pid)place et l'ensemble de l'arborescence des processus sera tué, ne lui permettant pas d'être réapparu.
Pirooz

1
Oui, l'opération est sûre car les RDB garantissent les propriétés ACID.
Pirooz

2
J'ai essayé le PID kill -term et il l'a tué, mais si j'exécute ps -a | grep mysqld, le processus mysqld est redémarré avec un nouveau PID.
2myCharlie

19

J'ai trouvé la réponse ici.

Utilisation

sudo stop mysql

Cela a fonctionné pour mon installation AWS ubuntu mysql. Le 'kill -TERM pid' n'a pas fonctionné pour mon cas. Merci.
yoshi

sudo mysql stoppour moi (Digital Ocean - ghost-512mb-lon1-01).
Leo

J'ai eu cette erreur pour cela: ERREUR 1045 (28000): Accès refusé pour l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: NON)
2myCharlie

19

Pour Windows, vous pouvez exécuter cette commande directement si mysql / bin est dans votre chemin.

mysqladmin -u root -p shutdown


10

pour l'installateur binaire, utilisez ceci:

arrêter:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

commencer:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

recommencer:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

10

Sur OSX 10.8 et les versions ultérieures, le contrôle pour MySQL est disponible dans les configurations système. Ouvrez les Préférences Système, cliquez sur Mysql (généralement tout en bas) et démarrez / arrêtez le service à partir de ce volet. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html

Le fichier plist se trouve maintenant sous /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist


4
Pour mémoire, j'ai essayé toutes les méthodes ci-dessus et aucune d'entre elles n'a fonctionné pour arrêter le processus MySQL supplémentaire. Passer par les Préférences Système et rechercher MySQL a fait l'affaire - merci!
andycrone

Merci, cela a fonctionné. C'est également là que vous trouvez le bouton de désinstallation.
smcg

Cela a fonctionné pour la plupart: gist.github.com/vitorbritto/0555879fe4414d18569d mais pour être sûr, essayez l'étape 7 avant l'étape 6
ppostma1

9

A travaillé pour moi sur Mac

a) Arrêter le processus

sudo launchctl list | grep -i mysql

Si le résultat affiche quelque chose comme: "xxx.xxx.mysqlxxx"

sudo launchctl remove xxx.xxx.mysqlxxx

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

b) Désactiver le démarrage automatique du processus

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

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

  • Enfin redémarrez votre mac

Remarque: dans certains cas, si vous avez d'abord essayé «a)» , vous devez redémarrer à nouveau avant d'essayer b) .


6

Tuer est définitivement la mauvaise façon! Le PID restera, les emplois de réplication seront supprimés, etc. etc.

ARRÊTER le serveur MySQL

/ sbin / service mysql stop

DEMARRER MySQL Server

/ sbin / service mysql start

REDÉMARRER le serveur MySQL

/ sbin / service mysql redémarrer

Peut-être que sudo sera nécessaire si vous n'avez pas assez de droits


5

Essayez de tuer mysqld quatre fois de suite. C'est la seule chose qui a fonctionné pour moi ...

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

Continuez simplement à le tuer encore et encore jusqu'à ce que vous voyiez "mysqld: aucun processus trouvé".


Merci a travaillé pour mon cas
Joyce obi

4

Ce qui a fonctionné pour moi sur CentOS 6.4 était en cours d'exécution service mysqld stop tant qu'utilisateur root.

J'ai trouvé ma réponse sur 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

J'utilise ceci pour résoudre le problème d'installation de MySQL 5.6 dans Ubuntu 15.10 en utilisant ce lien .

Lors de cette installation, je rencontre le problème en disant:

"mysqld_safe A mysqld process already exists"

Arrêtez complètement le mysqld, mysqld_safe, mysql résout le problème.


2

Si mon mysql continue de redémarrer
sudo rm -rf /usr/local/var/mysql/dev.work.err
mysql.server stop
fonctionné pour moi.


mysql.server stop a généré cette erreur: zsh: commande introuvable: mysql.server
2myCharlie

1

Pour arrêter le démarrage automatique de mysql au démarrage, ce qui suit a fonctionné pour moi avec mysql 8.0.12installé à l'aide de Homebrew dans macOS Mojave 10.14.1:

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

1

Pour arrêter l'instance de serveur MariaDB et MySQL:

sudo mysqladmin shutdown

Pour démarrer l'instance de serveur MariaDB et MySQL:

mysqld &

Pour modifier la propriété des données pour l'instance de serveur MariaDB et MySQL:

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

0

Pour mysql 5.7 téléchargé depuis un fichier binaire sur 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

Pour MAMP

  1. Arrêtez les serveurs (mais vous remarquerez peut-être que MySQL reste activé)
  2. Supprimer ou renommer /Applications/MAMP/tmp/mysql/qui contient les fichiers mysql.pidetmysql.sock.lock
  3. Lorsque vous retournerez à Mamp, vous verrez que MySQL est maintenant désactivé. Vous pouvez à nouveau "Démarrer les serveurs".

cela donnera '/ Applications / MAMP / tmp / mysql' pour le fichier socket UNIX n'existe pas 'dans le fichier mysql_error_log
Abdullah Tahan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.