Como parar o mysqld

181

Para descobrir o comando start do mysqld (usando um mac), eu posso fazer:

ps aux|grep mysql

Eu recebo a seguinte saída, o que me permite iniciar o servidor mysql.

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

Como eu encontraria o comando necessário para parar o mysql na linha de comando?

David542
fonte
1
Você check-out stackoverflow.com/questions/100948/...
dhable
Este trabalho para mim: askubuntu.com/questions/529302/how-to-stop-mysqld-process Talvez funcione para você também, mano. [] 's
lam3 12/06/2015
1
A questão era para um Mac.
Snowcrash
Se você estiver conectado via mysqlcliente, basta digitar SHUTDOWNno prompt .
CHB

Respostas:

309

Experimentar:

/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

Se você instalar o Launchctl no OSX, poderá tentar:

MacPorts

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

Nota: isso é persistente após a reinicialização.

Homebrew

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

Instalador binário

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

Descobri isso em: https://stackoverflow.com/a/102094/58768

squiter
fonte
9
Obrigado, /usr/local/mysql/bin/mysqladmin -u root shutdownfez o truque.
David542
5
Se é um ambiente de dev e nenhuma senha é definida, isso iria funcionar:/usr/local/mysql/bin/mysqladmin -u root shutdown
laurent
2
a opção de meia trabalhou, mas apenas com a adição de "serviço": serviço de mysqld parada
plaidcorp
11
Oh meu Deus, por que eu uso tudo isso acima e ainda está funcionando? É como um vírus!
Zen
4
E se eu estiver executando o mysql como $ mysqld? (apenas no terminal). Como eu o mataria então? Porque CTRL-C não funciona .. Eu sei que killiria matá-lo, mas me pergunto se há uma sequência de escape que o mysqld escuta.
Matej
33

Existe uma maneira alternativa de simplesmente matar o processo daemon chamando

kill -TERM PID

onde PIDé o valor armazenado no arquivo mysqld.pidou o ID do processo mysqld que pode ser obtido emitindo o comando ps -a | grep mysqld.

Pirooz
fonte
4
É bom saber que, na verdade, ele mata o processo depois de continuar sendo reaparecido quando "kill -9 PID" simplesmente não o fazia.
LrBBrr 11/09/2013
2
@ lordB8r o que significa b / c? Tentei matar -9 mysqld (pid), mas ele foi reiniciado imediatamente após isso, isso está me torturando.
Zen
@Zen Use em kill -TERM mysqld(pid)vez disso e toda a árvore do processo será eliminada , não permitindo que seja reaparecida.
Pirooz 01/09/14
1
Sim, a operação é segura, pois os RDBs garantem propriedades ACID.
Pirooz
2
Eu tentei o PID kill -term e ele matou, mas se eu executar ps -a | grep mysqld, o processo mysqld é iniciado novamente com um novo PID.
2myCharlie
19

Eu encontrei a resposta aqui.

Usar

sudo stop mysql
bb94
fonte
Isso funcionou para minha instalação do AWS ubuntu mysql. O 'kill -TERM pid' não funcionou no meu caso. Obrigado.
yoshi
sudo mysql stoppara mim (Digital Ocean - ghost-512mb-lon1-01).
12122 Leo
Eu recebi este erro para isso: ERRO 1045 (28000): Acesso negado para o usuário 'root' @ 'localhost' (usando a senha: NO)
2myCharlie
19

No Windows, você pode executar este comando diretamente se o mysql / bin estiver no seu caminho.

mysqladmin -u root -p shutdown
Lokinder Singh Chauhan
fonte
14

Eu fiz isso com o próximo comando:

sudo killall mysqld
Vito Gravano
fonte
10

para instalador binário, use este:

parar:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

para iniciar:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

reiniciar:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
Steven Lizarazo
fonte
10

No OSX 10.8 e posterior, o controle para MySQL está disponível nas Configurações do sistema. Abra Preferências do Sistema, clique em Mysql (geralmente na parte inferior) e inicie / pare o serviço nesse painel. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html

O arquivo plist agora está em /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

ppostma1
fonte
4
Para o registro, tentei todos os métodos acima e nenhum deles funcionou para interromper o processo extra do MySQL. Percorrer as Preferências do Sistema e pesquisar o MySQL fez o truque - obrigado!
andycrone
Obrigado, isso funcionou. Também é aqui que você encontra o botão de desinstalação.
smcg
Isso funcionou para a maioria: gist.github.com/vitorbritto/0555879fe4414d18569d mas para ser seguro, tente a etapa 7 antes Passo 6
ppostma1
9

Trabalhou para mim no mac

a) Pare o processo

sudo launchctl list | grep -i mysql

Se o resultado mostrar algo como: "xxx.xxx.mysqlxxx"

sudo launchctl remove xxx.xxx.mysqlxxx

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

b) Desativar para iniciar automaticamente o processo

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

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

  • Finalmente reinicie o seu mac

Nota: Em alguns casos, se você tentou "a)" primeiro, precisa reiniciar novamente antes de tentar b) .

ceskamx
fonte
6

Matar é definitivamente o caminho errado! O PID permanecerá, os Replicationsjobs serão mortos etc. etc.

PARAR o servidor MySQL

/ sbin / service mysql stop

INICIAR Servidor MySQL

/ sbin / service mysql start

REINICIAR Servidor MySQL

/ sbin / service mysql restart

Talvez sudo seja necessário se você não tiver direitos suficientes

Andreas Karz
fonte
5

Tente matar o mysqld quatro vezes seguidas. É a única coisa que funcionou para mim ...

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

Continue matando várias vezes até ver "mysqld: nenhum processo encontrado".

arnoldbird
fonte
Obrigado trabalhou para o meu caso
Joyce obi
4

O que funcionou para mim no CentOS 6.4 foi executado service mysqld stop como usuário root.

Encontrei minha resposta no nixCraft .

JWF
fonte
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

Eu uso isso para resolver o problema de instalação do MySQL 5.6 no Ubuntu 15.10 usando este link .

Durante esta instalação, encontro o problema dizendo:

"mysqld_safe A mysqld process already exists"

Pare completamente o mysqld, mysqld_safe, o mysql resolve o problema.

Charles
fonte
2

Se meu mysql continuar reiniciando
sudo rm -rf /usr/local/var/mysql/dev.work.err
mysql.server stop
funcionou para mim.

portatlas
fonte
A parada do mysql.server solicitou este erro: zsh: comando não encontrado: mysql.server
2myCharlie
1

Para parar a inicialização automática do mysql na inicialização, o seguinte funcionou para mim com o mysql 8.0.12instalado usando o Homebrew in macOS Mojave 10.14.1:

rm -rf ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Vikram Hosakote
fonte
1

Para parar a instância do servidor MariaDB e MySQL:

sudo mysqladmin shutdown

Para iniciar a instância do servidor MariaDB e MySQL:

mysqld &

Para alterar a propriedade dos dados para a instância do servidor MariaDB e MySQL:

sudo chown -R 755 /usr/local/mariadb/data
Oleksii Kyslytsyn
fonte
0

Para o mysql 5.7 baixado do arquivo binário no 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
fonte
-1

Para MAMP

  1. Pare servidores (mas você pode notar que o MySQL permanece ligado)
  2. Remova ou renomeie /Applications/MAMP/tmp/mysql/os arquivos mysql.pidemysql.sock.lock
  3. Quando você voltar ao Mamp, verá que o MySQL está desativado. Você pode "Iniciar Servidores" novamente.
kevnk
fonte
isso vai dar '/ Applications / MAMP / tmp / mysql' para arquivo de socket UNIX não existe no arquivo mysql_error_log
Abdullah Tahan