Como instalar o MySQL Server para que ele não desapareça após a reinicialização?

2

Tudo de bom:

Servidor mysql instalado muito bem usando o seguinte comando:

sudo apt-get install mysql-server

Durante a instalação, fui solicitado a escolher uma senha de root. Após a instalação, consegui fazer login no monitor do mysql usando este comando:

mysql -u root -p

e, quando solicitado, digitei a senha e fiz o login com sucesso.

Problema:

Quando eu reinicio meu servidor e, em seguida, tento acessar o monitor mysql, ao digitar a senha, recebo este erro:

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

Quando olho em /var/run/mysqld/ , não vejo nenhum arquivo chamado mysqld.sock . Anteriormente, antes da reinicialização, havia um arquivo com esse nome naquele local. Ele também foi destacado em vermelho no meu programa shell do cliente (mRemoteNG).

Se eu tentar criar esse arquivo fazendo:

sudo touch mysqld.sock

Ele é criado, mas não é realçado em vermelho e, quando tento fazer login novamente, recebo o mesmo erro de antes.

Eu tentei desinstalar e reinstalar o mysql e o mysql-server inúmeras vezes e o mesmo problema sempre aparece.

Eu também tentei cortar e iniciar o serviço mysql e isso não fez nenhuma diferença.

Nota:

Só sou solicitado a escolher uma senha durante a primeira instalação do servidor mysql em uma instalação limpa do Ubuntu. Depois disso, sempre que eu desinstalo e reinstalo, ele não me pede para escolher uma senha, apenas diz que ela foi instalada com sucesso.

Pergunta:

Como instalar corretamente o mysql-server para que ele sempre esteja lá mesmo após a reinicialização do servidor?

    
por Jake O'brien 28.01.2012 / 20:25

4 respostas

5

A maneira de obter mysql-server instalado e rodando no Debian ou Ubuntu é literalmente apt-get install mysql-server .

Se isso não funcionar, você tem outro problema, melhor resolvido indo aos logs e tentando descobrir por que ele não inicia - o problema é absolutamente não como você o instalou.

    
por 28.01.2012 / 20:27
4

Certifique-se de que esteja configurado para iniciar corretamente após a reinicialização. Isso normalmente significa executar "defaults do update-rc.d mysqld" (ou algo muito similar). update-rc.d criará links simbólicos de /etc/init.d para os diretórios de script de inicialização, por exemplo, /etc/rc3.d.

Eu não sei se o mysqld começa usando o Upstart na sua versão do Ubuntu. Haverá um processo similar para obter o script mysqld start em / etc / init nesse caso.

    
por 28.01.2012 / 20:35
0

Depende da distro, você não precisa criar manualmente o arquivo de soquete.

Use o chkconfig (CentOS):

chkconfig --level 345 mysqld on

Ou crie um symlink para os níveis de execução em que você deseja que o serviço seja executado:

# Mysql Startup
ln -s /etc/init.d/mysqld /etc/rc.d/rc3.d/S85mysqld
ln -s /etc/init.d/mysqld /etc/rc.d/rc4.d/S85mysqld
ln -s /etc/init.d/mysqld /etc/rc.d/rc5.d/S85mysqld

# MySQL clean shutdown
ln -s /etc/init.d/mysqld /etc/rc.d/rc0.d/K85mysqld
ln -s /etc/init.d/mysqld /etc/rc.d/rc6.d/K85mysqld

Quando você diz que tentou iniciar / parar o serviço e que não fez nada, você quer dizer que: Ele não fez nada em termos de inicialização automática após a reinicialização ou que não fez nada em termos de inicialização o período de serviço do mysql?

EDIT: Só percebi que você marcou o post com o Ubuntu, Checkout scripts upstart do Ubuntu, se você estiver em 10.04 +, parece que o aptitude deve ter deixado cair um para você após a instalação. Checkout os logs em / var / log / mysql (d) também se você acha que está configurado para iniciar automaticamente e não está conseguindo fazê-lo.

    
por 28.01.2012 / 20:36
0

Primeiro, apague o arquivo mysqld.sock que você criou - o servidor irá criar isso automaticamente, e ter um arquivo pode fazer com que ele não inicie mais.

Instale-o com o apt-get install mysql-server (como você disse).

Reinicie. Se não estiver sendo executado após a reinicialização, execute "sudo /etc/init.d/mysql start"

Verifique se está sendo executado agora. Se não, procure em / var / log / mysql e /var/log/daemon.log por qualquer mensagem de erro

Para sempre iniciar na inicialização, execute "update-rc.d mysql defaults"

    
por 29.01.2012 / 00:34