Reinicie o servidor MySQL

1

Estou usando o MySQL v5.1 na máquina Ubuntu .

O MySQL na minha máquina costumava funcionar. (Executar mysql -u root me deu a linha de comando do MySQL.)

Esta tarde, fiz o seguinte:

1. verifique o processo ativo relacionado a ' mysql ' por execução:

$ ps aux | grep 'mysql'
mysql  1457  3.3  1.3 130044 27076 ?        Ssl  16:22   0:43 /usr/sbin/mysql

2. Eu vi da saída acima o PID do processo mysql é 1457, então eu o matei com:

$ sudo kill 1457

3. agora, se eu executar $ mysql -u root , recebo um erro:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

o que é razoável desde que eu matei o processo.

Como posso ter meu servidor MySQL funcionando novamente depois que eu o matei?

Eu tentei executar sudo /etc/init.d/mysql start , mas meu servidor MySQL não inicia. Por que é que?

    
por Mellon 30.11.2011 / 15:58

4 respostas

5

No Ubuntu você deve usar service :

sudo service mysql start

E no futuro, se e quando você quiser reiniciá-lo:

sudo service mysql restart
    
por 30.11.2011 / 16:14
0

Após algumas pesquisas, encontrei este . Você está usando o Ubuntu, então vá para System -> Administration -> Services , desmarque o MySQL, salve-o e verifique-o novamente.

    
por 30.11.2011 / 17:31
0

Você provavelmente corrompeu um banco de dados até o ponto em que o mysqld não iniciará. Consulte /var/log/daemon.log para erros de inicialização do mysql. Também procure por /var/log/mysql.err e veja se existe alguma coisa lá.

No futuro "Não faça isso" porque o desligamento do servidor de banco de dados não-limpo corromperá muito as tabelas myisam e se você tiver sorte no innodb, apenas causará uma grande reversão que apagará todas as transações malsucedidas .

Você pode encontrar informações sobre mensagens de erro no link

    
por 30.11.2011 / 18:36
0

Eu usaria daemontools ou algo assim para manter o mysql em execução no sistema caso de desligamento indesejado dos servidores de banco de dados. No entanto, como todos os outros observaram aqui, a eliminação de servidores de banco de dados é realmente uma má ideia no ambiente de produção.

Para responder a questão do mysql não inicia, é porque o script mysql init verifica o pidfile do mysqld, não tenho certeza se ele verifica a validade do pid, e então o stalelock pode estar parando o mysql para iniciar . O melhor é fazer service mysql restart ou /etc/init.d/mysql restart para garantir que o mysql esteja iniciando a partir da base. Certifique-se de que o serviço mysql esteja sendo executado com ps e service mysqld status Verifique também os logs do mysqld, para verificar se houve uma inicialização limpa do processo e se todos os bancos de dados / tabelas foram inicializados corretamente.

    
por 30.11.2011 / 19:52