comment réinstaller mysql?

38

Une mise à jour du logiciel a été interrompue, entre autres choses, mysql et moi n’avons pas encore été en mesure de le récupérer.

Cause suspectée: le disque de démarrage était presque plein. la mise à niveau a rempli le disque avant de terminer et a donc tout laissé dans le pétrin. J'ai donné plus de disque au système et déplacé / var vers sa propre partition. J'essaie toujours en vain de faire revivre mysql.

Ci-dessous, ce que j’ai essayé jusqu’à présent (tout en tant que root). Tout d'abord, mysql ne démarre pas (443). Les tentatives de réparation (444, 445) échouent. Les tentatives pour supprimer mysql et (?) Apparmor échouent (446, 7, 8). Une tentative plus énergique de supprimer mysql semble réussir (449) et les erreurs précédentes ne sont plus visibles (450, 1, 2). Mysql ne peut pas être reconfiguré car il n’est plus là (453) mais si vous tentez de le réinstaller, les anciens messages d’erreur sont restitués et nous revenons à la case départ (454).

J'ai également vérifié cette question (même si , dans mon cas , il n'a pas rompu en raison d'une mise à niveau à 12.04: il travaillait déjà 12,10) de fixation brisé paquet myslq-serveur après mise à niveau à 12,04 et a essayé les suggestions là - bas (458, 461, 462) en vain.

Que dois-je faire d'autre?

Ceci est sur 3.5.0-25-generic # 39-Ubuntu SMP Lundi 25 février 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
la source

Réponses:

80

Tout d'abord, supprimez 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*

Puis réinstallez:

sudo apt update
sudo apt install mysql-server
sudo mysql_install_db
sudo /usr/bin/mysql_secure_installation
Joren
la source
1
explication parfaite!
Postadelmaga
Je pense que cela vaut la peine de mentionner que ce --purgen'est pas nécessairement ce que l'on veut, car cela supprimera également les fichiers de configuration. Dans le cas de mysql en particulier, je me demande si cela supprimerait également les dbs?
user50849
10
Pour supprimer la configuration et la base de données, vous devez supprimer /etc/mysqlet /var/lib/mysql.
Anne van Rossum
2
Vous devez arrêter le service mysql pour supprimer mysql-server
Viktor le
6
2017-05-20 15:12:01 [AVERTISSEMENT] mysql_install_db est obsolète. S'il vous plaît, envisagez de passer à mysqld --initialize
Flaudre
12

Dans Ubuntu 16.04, la solution à mon problème était la suivante ( sauvegardez d'abord les bases de données, les bases de données seront perdues ):

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

(D'une certaine manière, mes appels précédents à apt purge mysql-serverne semblaient pas réussir. Je pensais que apt purge fooc'était équivalent à apt remove --purge foo...)

knocte
la source
Ceci supprime toutes les bases de données. Une sauvegarde est nécessaire si des données sont importantes.
papillotement
8

J'obtenais exactement les mêmes erreurs et j'ai essayé la plupart des étapes que vous avez faites, avec les mêmes résultats. Ce qui suit a finalement fonctionné pour moi.

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

Après cela, mysql s'est installé normalement.

Tom Damon
la source
1

Je ne suis pas sûr de ce qui a été le cas pour moi, mais les autres solutions n'ont pas fonctionné et ont continué à donner une erreur. J'ai essayé cela apt-get purge mysql-*, alors autoremoveet autoclean. Après cette installation était bien.

**

Assurez-vous de sauvegarder vos bases de données, la commande ci-dessus peut également les supprimer.

**

dav
la source
0

Si vous courez juste

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

cela va mettre à jour mysql et cela corrige le problème que j'avais après la mise à jour à 16.04 lts.

Ou simplement courir

sudo apt-get install lamp-server^

mettre à jour tous les packages du serveur.

utilisateur558503
la source
0

Pour la version MySQL 5.7, j'ai supprimé MySQL comme décrit précédemment:

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

Et installé avec l'aide:

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

Pour tester si tout fonctionne:

systemctl status mysql.service

la source

Viktorminator
la source
-5

Installez phpMyAdmin à partir des référentiels Ubuntu par défaut. Puis lancez:

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
utilisateur277883
la source
5
Pourquoi installer phpMyAdmin ? C'est complètement inutile.
Lucio