Eu instalei o MySQL via MacPorts . Qual é o comando necessário para interromper o servidor (eu preciso testar como meu aplicativo se comporta quando o MySQL está morto)?
Eu instalei o MySQL via MacPorts . Qual é o comando necessário para interromper o servidor (eu preciso testar como meu aplicativo se comporta quando o MySQL está morto)?
Respostas:
Existem casos diferentes, dependendo se você instalou o MySQL com o instalador binário oficial, usando o MacPorts ou usando o Homebrew :
brew services start mysql
brew services stop mysql
brew services restart mysql
sudo port load mysql57-server
sudo port unload mysql57-server
Nota: isso é persistente após uma reinicialização.
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
e brew services start mysql
. (Também restart
, e run
que começa apenas para a sessão actual.)
Para aqueles que usaram o homebrew para instalar o MySQL, use os seguintes comandos abaixo para iniciar, parar ou reiniciar o MySQL
Início da fermentação
/usr/local/bin/mysql.server start
Reinício da fermentação
/usr/local/bin/mysql.server restart
Parada de fermentação
/usr/local/bin/mysql.server stop
/usr/local/Cellar/mysql@5.7/5.7.23/bin/
Você sempre pode usar o comando "mysqladmin shutdown"
sudo /opt/local/lib/mysql56/bin/mysqladmin shutdown
se o seu mysql vem de MacPorts
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop
Você também pode usar iniciar e reiniciar aqui. Encontrei isso consultando o conteúdo de /Library/LaunchDaemons/org.macports.mysql.plist.
launchctl
método NÃO funciona e, de fato, pode causar problemas com reclamações e gemidos na inicialização do PID / DB.
Aparentemente você quer:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
Leia mais em Jeez People, Pare de se preocupar com a instalação do RMagic .
Experimentar
sudo <path to mysql>/support-files/mysql.server start
sudo <path to mysql>/support-files/mysql.server stop
Outra tentativa:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop<br>
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
No entanto, descobri que a segunda opção só funcionava (OS X 10.6, MySQL 5.1.50) se o .plist tivesse sido carregado com:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist
PS: Eu também descobri que precisava descarregar o .plist para obter uma instalação não relacionada do MAMP -MySQL para iniciar / parar corretamente. Depois de executar isso, o MAMP-MySQL começa bem:
sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysqld.plist
No meu mac osx yosemite 10.10. Este comando funcionou:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysql.plist
Você pode encontrar seu arquivo mysql na pasta / Library / LaunchDaemons / para executar
mysqld
processo reinicia imediatamente após a parada.
Bem, se tudo mais falhar, você pode simplesmente adotar uma abordagem implacável e matar o processo executando o MySQL manualmente.
Isso é,
ps -Af
para listar todos os processos, faça " kill <pid>
" onde <pid>
está a identificação do processo do daemon MySQL (mysqld).
Mais recente OSX (10.8) e mysql 5.6, o arquivo está em Launch Daemons e é com.oracle.oss.mysql.mysqld.plist. Apresenta uma opção em Opções do sistema, geralmente na parte inferior da lista. Então vá para as configurações do sistema, clique no Mysql e desative-o na caixa de opções. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html
No meu caso, ele continuou reiniciando assim que eu finalizei o processo usando o PID. Também brew stop
comando não funcionou como eu instalei sem usar homebrew. Então eu fui para as preferências do sistema mac e temos o MySQL instalado lá. Basta abrir e parar o servidor MySQL e pronto. Aqui na captura de tela, você pode encontrar o MySQL na parte inferior das preferências do sistema.
Eu instalei o mysql5 e o mysql55 nos macports. Para mim, os arquivos mencionados aqui estão localizados nos seguintes locais:
(mysql55-server) /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
Então, parando para esses trabalhos como este:
mysql55-server:
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
Você pode verificar se o serviço ainda está sendo executado com:
ps ax | grep mysql
Além disso, você pode verificar os arquivos de log no meu caso aqui:
mysql55-server
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
Se você instalou o pacote MySQL 5 com MacPorts:
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql.plist
Ou
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5-devel.plist
se você instalou o mysql5-devel
pacote.
Depois de tentar todos esses linha de comando, e não é trabalho.Eu tenho que fazer as seguintes coisas:
mv /usr/local/Cellar/mysql/5.7.16/bin/mysqld /usr/local/Cellar/mysql/5.7.16/bin/mysqld.bak
mysql.server stop
Dessa forma, o processo mysqld se foi. mas o /var/log/system.log tem muito lixo:
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.