como reinstalar o mysql?

38

Uma atualização de software quebrou, entre outras coisas, o mysql e eu ainda não conseguimos recuperá-la.

Causa suspeita: eu tinha um disco de inicialização quase cheio; a atualização encheu o disco antes de concluir e, portanto, deixou tudo confuso. Dei ao sistema mais disco e movi / var para sua própria partição. Ainda estou tentando, sem sucesso, reviver o mysql.

Abaixo está o que eu tentei até agora (tudo como root). Primeiro, o mysql não inicia (443). Tentativas de correção (444, 445) falham. Tentativas de remover mysql e (?) Apparmor falham (446, 7, 8). Uma tentativa mais enérgica de remover o mysql parece ter êxito (449) e os erros anteriores não são mais vistos (450, 1, 2). O Mysql não pode ser reconfigurado porque não está mais lá (453), mas a tentativa de reinstalá-lo retorna as antigas mensagens de erro e estamos de volta à estaca zero (454).

Também verifiquei esta questão (mesmo que, no meu caso, não tenha sido interrompida devido a uma atualização para a versão 12.04: já estava funcionando na 12.10) Corrigindo o pacote myslq-server quebrado após a atualização para a versão 12.04 e tentei as sugestões (458, 461, 462) sem sucesso.

O que mais devo fazer?

Este é o 3.5.0-25-generic # 39-Ubuntu SMP segunda-feira, 25 de fevereiro 18:26:58 UTC 2013 x86_64 x86_64 x86_64 GNU / Linux

    443  service mysql start
         start: Job failed to start

    444  dpkg-reconfigure mysql-server-5.5
         /usr/sbin/dpkg-reconfigure: mysql-server-5.5
         is broken or not fully installed

    445  apt-get -f install
         ...
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--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.5; however:
         Package mysql-server-5.5 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.5
           mysql-server
         E: Sub-process /usr/bin/dpkg returned an error code (1)

    446  apt-get remove mysql-server
         ...
         Removing mysql-server ...
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--configure):
         subprocess installed post-installation script
         returned error exit status 1
         No apport report written because MaxReports is reached already
         Errors were encountered while processing:
           mysql-server-5.5
         E: Sub-process /usr/bin/dpkg returned an error code (1)


    447  apt-get remove apparmor
         ...
         Package 'apparmor' is not installed, so not removed
         0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
         1 not fully installed or removed.
         After this operation, 0 B of additional disk space will be used. 
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--configure):
         subprocess installed post-installation script
         returned error exit status 1
         Errors were encountered while processing:
           mysql-server-5.5
         E: Sub-process /usr/bin/dpkg returned an error code (1)


    448  apt-get remove mysql-server
         Reading package lists... Done
         Building dependency tree       
         Reading state information... Done
         Package 'mysql-server' is not installed, so not removed
         0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
         1 not fully installed or removed.
         After this operation, 0 B of additional disk space will be used.
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--configure):
         subprocess installed post-installation script
         returned error exit status 1
         Errors were encountered while processing:
           mysql-server-5.5
         E: Sub-process /usr/bin/dpkg returned an error code (1)

    449  dpkg -r mysql-server-5.5
         (Reading database ... 322156 files and directories
         currently installed.)
         Removing mysql-server-5.5 ...
         Processing triggers for man-db ...
         Processing triggers for ureadahead ...

    450  apt-get remove mysql-server
         Reading package lists... Done
         Building dependency tree        
         Reading state information... Done
         Package 'mysql-server' is not installed, so not removed
         0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    451  apt-get remove apparmor
         Reading package lists... Done
         Building dependency tree       
         Reading state information... Done
         Package 'apparmor' is not installed, so not removed
         0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    452  apt-get -f install
         Reading package lists... Done
         Building dependency tree       
         Reading state information... Done
         0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    453  dpkg-reconfigure mysql-server-5.5
         /usr/sbin/dpkg-reconfigure: mysql-server-5.5 is broken
         or not fully installed

    454  apt-get install mysql-server
         Reading package lists... Done
         Building dependency tree       
         Reading state information... Done
         The following extra packages will be installed:
           mysql-server-5.5
         Suggested packages:
           tinyca mailx
         The following NEW packages will be installed:
           mysql-server mysql-server-5.5
         0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
         Need to get 0 B/8,851 kB of archives.
         After this operation, 32.8 MB of additional disk space
         will be used.
         Do you want to continue [Y/n]? 
         Preconfiguring packages ...
         Selecting previously unselected package mysql-server-5.5.
         (Reading database ... 322081 files and directories
         currently installed.)
         Unpacking mysql-server-5.5 (from 
         .../mysql-server-5.5_5.5.29-0ubuntu0.12.10.1_amd64.deb) ...
         Selecting previously unselected package mysql-server.
         Unpacking mysql-server (from 
         .../mysql-server_5.5.29-0ubuntu0.12.10.1_all.deb) ...
         Processing triggers for ureadahead ...
         Processing triggers for man-db ...
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--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.5; however:
         Package mysql-server-5.5 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.5
           mysql-server
         E: Sub-process /usr/bin/dpkg returned an error code (1)


    458  apt-get remove --purge mysql-server
         Reading package lists... Done
         Building dependency tree       
         Reading state information... Done
         The following packages will be REMOVED:
           mysql-server*
         0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
         2 not fully installed or removed.
         After this operation, 116 kB disk space will be freed.
         Do you want to continue [Y/n]? 
         (Reading database ... 322159 files and directories
         currently installed.)
         Removing mysql-server ...
         Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
         start: Job failed to start
         invoke-rc.d: initscript mysql, action "start" failed.
         dpkg: error processing mysql-server-5.5 (--configure):
         subprocess installed post-installation script
         returned error exit status 1
         Errors were encountered while processing:
           mysql-server-5.5
         E: Sub-process /usr/bin/dpkg returned an error code (1)

    461  touch /etc/apparmor.d/local/usr.sbin.mysqld
         (no output)

    462  service mysql start
         start: Job failed to start
st01
fonte

Respostas:

80

Primeiro, remova o MySQL:

sudo apt purge mysql-server mysql-client mysql-common
sudo apt autoremove
sudo mv -iv /var/lib/mysql /var/tmp/mysql-backup
sudo rm -rf /var/lib/mysql*

Em seguida, reinstale:

sudo apt update
sudo apt install mysql-server
sudo mysql_install_db
sudo /usr/bin/mysql_secure_installation
Joren
fonte
11
explicação perfeita!
Postadelmaga
Acho que vale a pena mencionar que --purgenão é necessariamente o que se deseja, pois também removerá os arquivos de configuração. No caso do mysql especificamente, gostaria de saber se ele também removeria os dbs?
user50849
10
Para remover a configuração e o banco de dados, você precisará remover /etc/mysqle /var/lib/mysql.
Anne van Rossum
2
Você deve interromper o serviço mysql para remover o servidor mysql
Viktor
5
2017-05-20 15:12:01 [WARNING] mysql_install_db está obsoleto. Por favor, considerar a mudança para o mysqld --initialize
Flaudre
12

No Ubuntu 16.04, a maneira de corrigi-lo no meu caso era ( primeiro faça backup dos bancos de dados, os bancos de dados serão perdidos ):

sudo apt remove --purge mysql-server mysql-client mysql-common
sudo apt autoremove
sudo mv -iv /var/lib/mysql /var/tmp/mysql-backup
sudo rm -rf /var/lib/mysql*
sudo apt install mysql-server

(De alguma forma, minhas chamadas anteriores para apt purge mysql-servernão pareciam ter sucesso. Eu pensei que isso apt purge fooera equivalente a apt remove --purge foo...)

knocte
fonte
Isso está excluindo todos os bancos de dados. Um backup é necessário se algum dado for importante.
Flickerfly
8

Eu estava recebendo exatamente os mesmos erros e tentei a maioria das etapas que você executou, com os mesmos resultados. O seguinte finalmente funcionou para mim.

apt-get purge mysql-server mysql-client mysql-common mysql-client-5.5 mysql-server-5.5

Depois disso, o mysql foi instalado normalmente.

Tom Damon
fonte
1

Não sei ao certo qual foi o meu caso, mas as outras soluções não funcionaram, continuava dando um erro. Eu tentei isso apt-get purge mysql-*, então autoremovee autoclean. Depois que a instalação foi boa.

**

Certifique-se de fazer backup de seus bancos de dados, o comando acima pode excluí-los também

**

dav
fonte
0

Se você apenas correr

sudo apt-get update
sudo apt-get install mysql-server

ele atualizará o mysql e isso corrigiu o problema que eu tinha após atualizar para o 16.04 lts.

Ou apenas corra

sudo apt-get install lamp-server^

para atualizar todos os pacotes do servidor.

user558503
fonte
0

Para a versão MySQL 5.7, removi o MySQL conforme descrito anteriormente:

sudo apt purge mysql-server mysql-client mysql-common
sudo apt autoremove
sudo rm -rf /var/lib/mysql*

E o instalou com ajuda:

sudo apt-get update
sudo apt-get install mysql-server
mysql_secure_installation

Para testar se tudo funciona:

systemctl status mysql.service

fonte

Viktorminator
fonte
-5

Instale o phpMyAdmin a partir dos repositórios padrão do Ubuntu. Então corra:

dpkg --configure mysql-server-5.5
apt-get purge mysql-server mysql-client mysql-common mysql-client-5.5 mysql-server-5.5
apt-get autoremove
apt-get autoclean
apt-get update
apt-get install  mysql-server
service mysql restart
user277883
fonte
5
Por que instalar o phpMyAdmin ? Isso é completamente desnecessário.
Lucio