come reinstallare mysql?


38

Un aggiornamento del software si è rotto, tra l'altro, mysql e non siamo ancora stati in grado di ripristinarlo.

Causa sospetta: avevo un disco di avvio quasi pieno; l'aggiornamento ha riempito il disco prima del completamento e quindi ha lasciato tutto in un disordine. Ho dato al sistema più disco e spostato / var nella propria partizione. Sto ancora cercando senza successo di rilanciare mysql.

Di seguito è quello che ho tentato finora (tutto come root). Innanzitutto, mysql non si avvia (443). Tentativi di correzione (444, 445) non riusciti. I tentativi di rimuovere mysql e (?) Apparmor falliscono (446, 7, 8). Un tentativo più energico di rimuovere mysql sembra avere successo (449) e gli errori precedenti non sono più visibili (450, 1, 2). Mysql non può essere riconfigurato perché non è più presente (453) ma il tentativo di reinstallarlo restituisce i vecchi messaggi di errore e torniamo al punto di partenza (454).

Ho anche verificato questa domanda (anche se nel mio caso non si è interrotta a causa di un aggiornamento a 12.04: funzionava già il 12.10) Correzione del pacchetto myslq-server rotto dopo l'aggiornamento a 12.04 e ho provato i suggerimenti in esso (458, 461, 462) inutilmente.

Cos'altro dovrei fare?

Questo è su 3.5.0-25-generico # 39-Ubuntu SMP lun 25 febbraio 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

Risposte:


80

Innanzitutto, rimuovere 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*

Quindi reinstallare:

sudo apt update
sudo apt install mysql-server
sudo mysql_install_db
sudo /usr/bin/mysql_secure_installation

1
spiegazione perfetta!
Postadelmaga,

Penso che valga la pena ricordare che --purgenon è necessariamente quello che si desidera, poiché rimuoverà anche i file di configurazione. Nel caso specifico di mysql, mi chiedo se rimuoverà anche i dbs?
user50849

10
Per rimuovere la configurazione e il database, dovrai rimuovere /etc/mysqle /var/lib/mysql.
Anne van Rossum,

2
Dovresti interrompere il servizio mysql per rimuovere mysql-server
Viktor

6
20/05/2017 15:12:01 [AVVISO] mysql_install_db è obsoleto. Ti preghiamo di considerare di passare a mysqld --initialize
Flaudre

12

In Ubuntu 16.04 il modo per risolverlo nel mio caso era (per favore, prima fai il backup dei DB, i database andranno persi ):

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

(In qualche modo, le mie precedenti chiamate a apt purge mysql-servernon sembravano avere successo. Pensavo apt purge foofosse equivalente a apt remove --purge foo...)


Questo sta eliminando tutti i database. È necessario un backup se alcuni dati sono importanti.
flickerfly,

8

Stavo ottenendo gli stessi errori esatti e ho provato la maggior parte dei passaggi che hai fatto, con gli stessi risultati. Alla fine ha funzionato per me.

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

Successivamente, mysql si è installato normalmente.


1

Non sono sicuro di cosa fosse il caso per me, ma le altre soluzioni non hanno funzionato, ha continuato a dare un errore. Ho provato questo apt-get purge mysql-*, quindi autoremovee autoclean. Dopo che l'installazione andava bene.

**

Assicurati di eseguire il backup dei tuoi database, il comando sopra potrebbe anche cancellarli

**


0

Se corri e basta

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

aggiornerà mysql e questo risolto il problema che ho avuto dopo l'aggiornamento a 16.04 lts.

O semplicemente corri

sudo apt-get install lamp-server^

per aggiornare tutti i pacchetti del server.


0

Per la versione MySQL 5.7 ho rimosso MySQL come descritto prima:

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

E installato con l'aiuto:

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

Per verificare se tutto funziona:

systemctl status mysql.service

fonte


-5

Installa phpMyAdmin dai repository Ubuntu predefiniti. Quindi eseguire:

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

5
Perché installare phpMyAdmin ? Questo è completamente inutile.
Lucio,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.