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?

David542
la source
1
Avez-vous vérifié stackoverflow.com/questions/100948/…
dhable
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

squiter
la source
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.

Pirooz
la source
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
bb94
la source
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
Lokinder Singh Chauhan
la source
14

Je l'ai fait avec la commande suivante:

sudo killall mysqld
Vito Gravano
la source
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
Steven Lizarazo
la source
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

ppostma1
la source
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) .

ceskamx
la source
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

Andreas Karz
la source
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é".

arnoldbird
la source
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 .

JWF
la source
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.

Charles
la source
2

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

portatlas
la source
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
Vikram Hosakote
la source
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
Oleksii Kyslytsyn
la source
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
ehacinom
la source
-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".
kevnk
la source
cela donnera '/ Applications / MAMP / tmp / mysql' pour le fichier socket UNIX n'existe pas 'dans le fichier mysql_error_log
Abdullah Tahan