Come fermare mysqld


181

Per scoprire il comando start per mysqld (usando un mac) posso fare:

ps aux|grep mysql

Ottengo il seguente output, che mi consente di avviare il server mysql.

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

Come troverei il comando necessario per interrompere mysql dalla riga di comando?



Questo lavoro per me: askubuntu.com/questions/529302/how-to-stop-mysqld-process Forse funzionerà anche per te, fratello. [] 's
lam3,

1
La domanda era per un Mac.
Snowcrash,

Se sei connesso tramite il mysqlclient, puoi semplicemente digitare SHUTDOWNal prompt .
CHB

Risposte:


309

Provare:

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

O:

sudo mysqld stop

O:

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

O:

sudo mysql.server stop

Se installi Launchctl in OSX puoi provare:

MacPorts

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

Nota: questo è persistente dopo il riavvio.

homebrew

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

Programma di installazione binario

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

L'ho trovato in: https://stackoverflow.com/a/102094/58768


9
Grazie, ha /usr/local/mysql/bin/mysqladmin -u root shutdownfatto il trucco.
David542,

5
Se si tratta di un ambiente di sviluppo e non è stata definita una password, funzionerebbe:/usr/local/mysql/bin/mysqladmin -u root shutdown
laurent

2
l'opzione intermedia ha funzionato, ma solo con l'aggiunta di "service": service mysqld stop
plaidcorp

11
Oh mio Dio, perché li uso tutti sopra e funziona ancora? È come un virus!
Zen,

4
Cosa succede se sto eseguendo mysql come $ mysqld? (proprio nel terminal). Come lo ucciderei allora? Perché CTRL-C non funziona .. So che killlo ucciderebbe, ma mi chiedo solo se c'è una sequenza di escape che mysqld ascolta.
Matej,

33

C'è un modo alternativo di uccidere semplicemente il processo demone chiamando

kill -TERM PID

dove si PIDtrova il valore memorizzato nel file mysqld.pido l'id del processo mysqld che può essere ottenuto emettendo il comando ps -a | grep mysqld.


4
è bello sapere che in realtà uccide il processo dopo che ha continuato a rigenerarsi quando "kill -9 PID" non lo ha fatto.
LordB8r,

2
@ lordB8r cosa significa b / c? Ho provato a uccidere -9 mysqld (pid) ma si riavvia subito dopo, questo mi sta torturando.
Zen,

@Zen Usa kill -TERM mysqld(pid)invece e l'intero albero del processo verrà ucciso, non consentendogli di essere rigenerato.
Pirooz,

1
Sì, l'operazione è sicura poiché gli RDB garantiscono proprietà ACID.
Pirooz,

2
Ho provato il PID kill -term e lo ha ucciso ma se eseguo ps -a | grep mysqld, il processo mysqld viene riavviato con un nuovo PID.
2myCharlie

19

Ho trovato la risposta qui.

Uso

sudo stop mysql

Questo ha funzionato per la mia installazione di MySQL Ubuntu AWS. Il "kill -TERM pid" non ha funzionato per il mio caso. Grazie.
yoshi,

sudo mysql stopper me (Digital Ocean - ghost-512mb-lon1-01).
Leone,

Ho ricevuto questo errore per questo: ERRORE 1045 (28000): Accesso negato per l'utente 'root' @ 'localhost' (usando la password: NO)
2myCharlie

19

Per Windows, puoi eseguire questo comando direttamente se mysql / bin è nel tuo percorso.

mysqladmin -u root -p shutdown


10

per il programma di installazione binario usare questo:

fermare:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

iniziare:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

ricominciare:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

10

Su OSX 10.8 e versioni successive, il controllo per MySQL è disponibile nelle configurazioni di sistema. Apri Preferenze di Sistema, fai clic su Mysql (di solito in fondo) e avvia / arresta il servizio da quel riquadro. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html

Il file plist è ora in /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist


4
Per la cronaca, ho provato tutti i metodi di cui sopra e nessuno di loro ha funzionato per fermare il processo MySQL extra. Analizzare le Preferenze di Sistema e cercare MySQL ha funzionato, grazie!
Andycrone,

Grazie, ha funzionato. Qui troverai anche il pulsante di disinstallazione.
smcg

Questo ha funzionato per la maggior parte: gist.github.com/vitorbritto/0555879fe4414d18569d ma per sicurezza, prova il passaggio 7 prima del passaggio 6
ppostma1,

9

Ha funzionato per me su Mac

a) Interrompere il processo

sudo launchctl list | grep -i mysql

Se il risultato mostra qualcosa di simile: "xxx.xxx.mysqlxxx"

sudo launchctl remove xxx.xxx.mysqlxxx

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

b) Disabilitare per avviare automaticamente il processo

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

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

  • Finalmente riavvia il tuo mac

Nota: in alcuni casi se si è provato prima "a)" , è necessario riavviare nuovamente prima di provare b) .


6

Uccidere è decisamente la strada sbagliata! Il PID rimarrà, le repliche verranno uccise ecc. Ecc.

STOP al server MySQL

/ sbin / service mysql stop

AVVIA MySQL Server

/ sbin / service mysql start

RIAVVIA il server MySQL

/ sbin / service mysql restart

Forse sudo sarà necessario se non hai abbastanza diritti


5

Prova a uccidere mysqld quattro volte di seguito. È l'unica cosa che ha funzionato per me ...

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

Continua a ucciderlo ancora e ancora finché non vedi "mysqld: nessun processo trovato".


Grazie ha funzionato per il mio caso
Joyce obi, il

4

Quello che ha funzionato per me su CentOS 6.4 era in esecuzione service mysqld stopcome utente root.

Ho trovato la mia risposta su 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

Lo uso per risolvere il problema di installazione di MySQL 5.6 in Ubuntu 15.10 usando questo link .

Durante questa installazione, ho riscontrato il problema dicendo:

"mysqld_safe A mysqld process already exists"

Basta fermare completamente mysqld, mysqld_safe, mysql risolve il problema.


2

Se il mio mysql continua a riavviare ha
sudo rm -rf /usr/local/var/mysql/dev.work.err
mysql.server stop
funzionato per me.


mysql.server stop ha richiesto questo errore: zsh: comando non trovato: mysql.server
2myCharlie

1

Per interrompere l'avvio automatico di mysql all'avvio, il seguente ha funzionato per me con mysql 8.0.12installato usando Homebrew in macOS Mojave 10.14.1:

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

1

Per interrompere l'istanza del server MariaDB e MySQL:

sudo mysqladmin shutdown

Per avviare l'istanza del server MariaDB e MySQL:

mysqld &

Per modificare la proprietà dei dati per l'istanza del server MariaDB e MySQL:

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

0

Per mysql 5.7 scaricato da file binario su 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

Per MAMP

  1. Arresta i server (ma potresti notare che MySQL rimane acceso)
  2. Rimuovere o rinominare /Applications/MAMP/tmp/mysql/che contiene i file mysql.pidemysql.sock.lock
  3. Quando torni a Mamp, vedrai che MySQL è ora spento. È possibile "Avviare nuovamente i server".

questo darà '/ Applicazioni / MAMP / tmp / mysql' per il file socket UNIX non esiste 'nel file mysql_error_log
Abdullah Tahan
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.