Como parar o mysql de rodar no momento da inicialização?

55

Atualmente, meu servidor MySQL inicia em cada inicialização do servidor. Por algumas razões, esse é um comportamento indesejável. Existe uma maneira de desativar esse comportamento?

Иван Бишевац
fonte

Respostas:

6

Existem dois Guis em que consigo pensar. Em Aplicativos -> Ubuntu Software Center, procure por "gerenciador de inicialização". Após a instalação, você o encontrará em Sistema -> Administração -> BootUP-Manager. Outro é o Webmin. O Webmin usa seu navegador. Após a instalação, aponte seu navegador para https: // localhost: 10000 / Procure por serviços e trabalhe a partir daí.

beijinho
fonte
2
Este método não funcionou para mim em 16.04
Mostafa Ahangarha 22/03
76

Para impedir que o mysql inicie na inicialização:

  1. Abra o terminal: Ctrl+ Alt+T

  2. Abra o mysql.confarquivo:nano /etc/init/mysql.conf

  3. Comente a start onlinha próxima à parte superior do arquivo; ela start onpode estar espalhada por duas linhas; portanto, comente as duas. (comentário adicionando #no início)

Se você deseja iniciar manualmente o mysql, use o seguinte comando:

service mysql start

Tirada liberalmente daqui.

Kris Harper
fonte
3
Esta é uma resposta muito útil para mais de uma iniciação na inicialização.
precisa saber é o seguinte
11
Tentei, eu tenho /usr/sbin/mysqlde /bin/sh /usr/bin/mysqld_safecorrendo. Comentou tudo, mas não ajudou.
Emin Mastizada
IMO, esta é a melhor resposta.
Simhumileco 01/07
no Linux Mint 18.2 Cinnamon, removi o /etc/init/mysql.conf sem nenhuma alteração. Servidor Mysql ainda em execução na inicialização. solução @thebugfinder funcionou para mim
flyingdrifter
anacron.conf e whoopsie.conf é tudo o que posso ver em / etc / init @ maniat1k
Prabesh bhattarai 18/03
73

Desde 15.04, você pode simplesmente fazer:

sudo systemctl disable mysql
thebugfinder
fonte
4
De fato. Para 15.04, esta é a resposta que você procura.
CommandZ
Impressionante, finalmente encontrei uma solução para isso! Os outros métodos não funcionam para mim.
rneves
Não consigo iniciá-lo novamente, como inicio o mysql após o comando?
rneves
@rneves você tentou enableou reenable?
thebugfinder
11
@thebugfinder Eu tentei enable, eu não sei sobre reenable, mas enableas forças me reiniciar o computador para iniciar mysql novamente
rneves
8

As coisas mudaram bastante no Ubuntu agora. Eu acho que a partir da versão 11 em diante. O MySQL é tratado pelo Upstart enquanto o Apache ainda usa scripts init tradicionais do SysV

Para o MySQL, você pode usar o novo recurso de substituição no Upstart para modificar o comportamento inicial:

sudo echo "manual" >> /etc/init/mysql.override

Para obter mais informações, consulte a seção " Desabilitando um trabalho para iniciar automaticamente " no Livro de receitas inicial.

Como o Apache ainda usa os scripts init tradicionais do SysV, você pode usar

sudo update-rc.d -f apache2 remove

para remover os links /etc/rcX.dou, alternativamente, use

sudo update-rc.d apache2 disable

que "desativa" o script, alterando-o de um script inicial para um script final. Isso é reversível por

sudo update-rc.d apache2 enable

A maioria dessas informações foi obtida a partir daqui: https://askubuntu.com/a/40077/24678

Wavesailor
fonte
Se você deseja restaurar o serviço, sudo update-rc.d apache2 defaults
bentech
4

No Ubuntu 18.04, sudo systemctl disable mysqlimpedirá a mysql-serverinicialização automática na inicialização.

Para linux, existem 3 principais sistemas de inicialização: Systemd, Upstarte SysV. Embora quase todos os sistemas Linux sejam executados no Systemd. Os outros dois sistemas init também podem coexistir no seu sistema.

Para Systemd, use o comando sudo systemctl disable mysql;
Para Upstart, use echo manual >> /etc/init/mysql.override;
Para SysV, execute o seguinte comandosudo update-rc.d mysql disable

Se você deseja descobrir qual sistema init está sendo executado no seu servidor, leia esta resposta .

Yossarian42
fonte
2

Ou, se você realmente gosta de mim, basta abrir uma sessão do Terminal e digitar:

sudo perl -pi.orig -e 's/start\s+on/#start\s+on/' /etc/init/mysql.conf && sudo perl -pi.orig -e 's/and\s+/#and/g' /etc/init/mysql.conf

Você pode então apenas emitir um comando de reinicialização e seu sistema irá inicializar sem o mysql iniciado.

Justin Andrusk
fonte
11
Este comando pode ser melhorado. É adicionar um +sair da linha assim: #start+on blahblahblahmas funciona!
Lucio
2

Na verdade, também há outro método para fazer isso, através da ferramenta sysv-rc-conf.

Você pode instalá-lo digitando

sudo apt-get install sysv-rc-conf

Ele permite que você assuma o controle de todos os serviços disponíveis, incluindo executá-los / interrompê-los e configurar a operação dos serviços por nível de execução.

Edit: Você tem que executar esta ferramenta como root:

sudo sysv-rc-conf
errikos
fonte
0

Você pode usar o chkconfigpacote de ferramentas

$ chkconfig --level 345 mysqld off
Thoman
fonte
2
Por favor, elabore sua resposta. Por que você acha que isso resolve a questão? Você pode, por exemplo, adicionar um link a um manual como referência.
Byte Commander