Não foi possível instalar o mysql-server no Ubuntu


17

Não consigo instalar o mysql-server na minha máquina servidor ubuntu 9.10. Ao usar o apt-get install mysql-server, a saída é:

# apt-get install mysql-server

Reading package lists... Done
Building dependency tree
Reading state information... Done

mysql-server is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 120 not upgraded.
2 not fully installed or removed.

After this operation, 0B of additional disk space will be used.
Setting up mysql-server-5.1 (5.1.37-1ubuntu5.4) ...
* Stopping MySQL database server 
    Mysqld    [ OK ]
* Starting MySQL database server 
mysqld [fail]

invoke-rc.d: initscript mysql, action "start" failed.

dpkg: error processing mysql-server-5.1 (--configure):

subprocess installed post-installation script returned error exit status 1

dpkg: dependency problems prevent configuration of mysql-server:

mysql-server depends on mysql-server-5.1; however:
Package mysql-server-5.1 is not configured yet.

dpkg: error processing mysql-server (--configure):
dependency problems - leaving unconfigured

No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
mysql-server-5.1
mysql-server  
E: Sub-process /usr/bin/dpkg returned an error code (1)

Não consigo encontrar uma solução satisfatória para esse problema em qualquer lugar. Muitos sites dizem para reinstalá-lo, mas não está funcionando.

Qualquer ajuda será apreciada.

Obrigado..


Já tentou usar o aptitude? aptitude install mysql-server-5.1
Chris_O

sim ... tentei isso também, mesmo erro.
Arihant

Tinha sintomas muito semelhantes ao instalar o mysql-server, quando a porta 3306 foi tomada por um túnel SSH. Levou um tempo para aviso prévio, não seria de esperar qualquer coisa assim para quebrar instalar o pacote ...
famousgarkin

Respostas:


26

Isso funcionou para mim:

apt-get purge mysql-server
apt-get purge mysql-common
rm -rf /var/log/mysql
rm -rf /var/log/mysql.*
rm -rf /var/lib/mysql
rm -rf /etc/mysql
# and then:
apt-get install mysql-server --fix-missing --fix-broken

Embora também remova todas as dependências no mysql.

E também excluirá bancos de dados existentes, faça backup primeiro!

Fonte .


+1 Funcionou bem para mim também!
precisa

Trabalhou no Ubuntu 12.04 LTS e MySQL 5.5.34.
Crispy

O +1 funcionou para mim também. Eu tentei o apt-get purge mysql-server, mas não o apt-get purge mysql-common e não estava funcionando. Obrigado.
Davide Vernizzi

2
AVISO: isso exclui todos os seus bancos de dados, faça backup primeiro!
Panthro

1
Funciona, obrigado. Quando não funciona, não sei por que não funciona. Quando funciona, também não sei por que funciona.
Qian Chen

5

Algumas sugestões:

  • O sempre óbvio, verifique se você está executando como root.
  • Tente fazer o apt-get remove mysql .
  • Em seguida, tente fazer uma limpeza do apt-get (você pode precisar do mysql do apt-get purge , às vezes o aptitude pode ser exigente).
  • Sempre verifique seus logs. Provavelmente, eles terão a resposta para quase tudo.
  • Além disso, tente fazer um cache limpo do apt-get e apt-get clean . Em seguida, tente instalar novamente.

Ou tente esta solução que encontrei no google:

O pacote mysql-server-5.1 tenta iniciar o MySQL após a instalação do pacote, o que falha. A primeira coisa que você precisa fazer é concluir o processo de instalação de maneira limpa. Existem várias maneiras de fazer isso:

ou corrija sua configuração do MySQL, verifique se o /etc/init.d/mysql-server funciona e inicie o dpkg --configure -a para concluir o processo de instalação; ou edite /var/lib/dpkg/info/mysql-server-5.1.postinst e remova a parte em que inicia o servidor (provavelmente chamando /etc/init.d/mysql-server start ou algo assim) e inicie o dpkg - configure -a para concluir o processo de instalação e, em seguida, corrija sua configuração.


1
Concordo com o conselho para purgar a instalação e repetição
jamespo

esse trabalho de tinta !!
Arihant

2

O MySQL falhou ao iniciar. A razão pela qual isso ocorreu deve estar logada em /var/log/mysql.log (ou ainda é /var/lib/mysql/.err?). Você pode colar a saída de lá e talvez possamos descobrir o que deu errado.


/var/log/mysql.err e /var/log/mysql.log, ambos os arquivos estão vazios.
Arihant #

A seguir está a saída de /usr/local/mysql/clc.err file.clc é o nome do host 20:50:31 mysqld_safe Iniciando o daemon mysqld com bancos de dados em / var / lib / mysql 110402 20:50:31 [Aviso] Não é possível criar arquivo de teste /var/lib/mysql/clc.lower-test 110402 20:50:31 [Aviso] Não é possível criar o arquivo de teste /var/lib/mysql/clc.lower-test 110402 20:50:31 [ERRO ] Erro fatal: Não é possível alterar para executar como usuário 'mysql'; Por favor, verifique se o usuário existe! 110402 20:50:31 [ERRO] Interrompendo 110402 20:50:31 [Nota] / usr / sbin / mysqld: Encerramento completo 110402 20:50:31 mysqld_safe mysqld do arquivo pid /var/lib/mysql/clc.pid finalizado
Arihant

Talvez 1) o usuário mysql não exista, ou 2) / var / lib / mysql não seja de propriedade do usuário mysql? Se 2), lembre-se de chorar -R.
Bittrance

esta é a entrada do arquivo / etc / passwd: 'mysql: x: 118: 128: MySQL Server ,,,: / var / lib / mysql: / bin / false'. Já fiz chown -R mysql / var / lib / mysql ..
Arihant

Esta é a saída de: apt-get purge mysql-server `* Parando o servidor de banco de dados MySQL mysqld * Iniciando o servidor de banco de dados MySQL mysqld [falha] invoke-rc.d: initscript mysql, ação" start "falhou. dpkg: erro ao processar mysql-server-5.1 (--configure): o script de pós-instalação instalado pelo subprocesso retornou o status de saída de erro 1 E: O subprocesso / usr / bin / dpkg retornou um código de erro (1) ` Não consigo entender por que iniciando o serviço mysql-server quando o removo.
Arihant

1

Abra um console diferente, insira ps aux | grep mys

E mate qualquer coisa assim:

egrep -qi ... /etc/mysql/

Isso deve permitir que a instalação seja concluída.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.