web-dev-qa-db-fra.com

dpkg: erreur de traitement du package mysql-server

Lorsque j'essaie d'installer mysql-server, une erreur se présente comme:

dpkg: error processing package mysql-server (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Qu'est-ce que ça veut dire. Des idées?

11
Sherzod

dpkg renvoyer un code d'erreur 1 ne signifie rien de spécifique mais cela a généralement à voir avec des problèmes de dépendance. Dans votre cas, vous avez essayé d'installer deux versions/instances du même package, c'est-à-dire mysql-server et mysql-server-5.7. Faites donc ce qui suit pour supprimer tout problème de dépendance redondant et installer un package mysql fonctionnel

Sudo apt-get clean
Sudo apt-get purge mysql*
Sudo apt-get update
Sudo apt-get install -f
Sudo apt-get install mysql-server-5.7
Sudo apt-get dist-upgrade

cela devrait résoudre le problème actuel. Mais à l'avenir, faites attention aux noms de packages que vous ajoutez après Sudo apt-get install puisque la mauvaise liste de noms de packages - par exemple des entrées redondantes dans la liste - entraîne l'échec de l'installation de l'un des packages ou pire - vous pourriez même vous retrouver à patauger dans les profondeurs infernales de # DEPENDENCY-HELL

7
endrias

Si vous êtes sur un VPS ou similaire, votre erreur peut être due à un manque de RAM.

L'exécution d'apt-upgrade semble nécessiter de la RAM, il peut donc forcer la fermeture de mysql, d'où le problème pour se remettre de l'erreur.

Essayer:

1) Arrêtez mysql manuellement avant toute mise à niveau d'apt

Sudo /etc/init.d/mysql stop

2) Correction:

Sudo dpkg --configure mysql-server-X.X

(si la version n'est pas connue, utilisez simplement mysql-server pour savoir (ne corrigera pas l'erreur)

3) Vérifiez:

Sudo apt-get upgrade

Démarrez mysql manuellement s'il n'a pas été démarré par apt.

2
Teson

Cela devrait aider

Sudo apt-get purge mysql*
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get dist-upgrade

Et maintenant, réinstallez mysql

Sudo apt-get install mysql-server
2
Zaytsev Dmitry

Ma réponse de askubunt .

Aucune des méthodes apt n'a fonctionné pour moi, essayez ceci:

Recherche du processus de verrouillage

$ ps -eaf
root      7316     1  0 00:19 ?        00:00:00 /usr/bin/dpkg --status-fd 35 --configure --pending
root      7808  7316  0 00:19 ?        00:00:00 /usr/bin/Perl -w /usr/share/debconf/frontend /var/lib/dpkg/info/mysql-se
root      7817  7808  0 00:19 ?        00:00:00 /bin/bash /var/lib/dpkg/info/mysql-server-5.7.postinst configure
mysql     7973  7817  0 00:20 ?        00:00:00 mysqld --user=mysql --init-file=/var/lib/mysql-files/tmp.iNyY06ty0K --so

Tuez-le

faire Sudo kill -9 7973, en gros celui de mysql.

Purger maintenant

Sudo apt-get purge mysql-server-5.7 # Or whatever you are trying to purge.
1
Ganesh Kathiresan

J'ai eu un problème similaire. C'est comme ça que j'ai réparé le mien.

  1. Redémarrez le service MySQL Sudo service mysql restart
  2. Puis réparez les installations cassées Sudo apt install -f
1
Peter Umoren

Toutes les réponses que j'ai pu trouver pour cette question étaient de la forme "purgez votre installation Mysql et réinstallez-la". Mais dans mon cas, j'ai déjà une installation Mysql active/active. Pour moi, la raison pour laquelle dpkg --configure -a échoue parce que Mysql est déjà installé. Pourquoi dpkg pense que le script de post-installation doit être exécuté pour mon Mysql déjà installé et mis à niveau, je ne le sais peut-être jamais, mais c'est le cas.

Après un temps considérable à chercher des réponses, j'ai trouvé une solution qui devrait fonctionner s'il y en a d'autres qui ont déjà un Mysql 5.7 fonctionnel et qui veulent juste passer ce faux script de post-installation. Vous pouvez modifier le script de post-installation directement comme (sur Ubuntu):

Sudo vi /var/lib/dpkg/info/mysql-server-5.7.postinst

Et puis, sur la deuxième ligne, ajoutez simplement exit 0 puis exécutez à nouveau dpkg et vous devriez obtenir quelque chose comme:

$ Sudo dpkg --configure -a         
Setting up mysql-server-5.7 (5.7.28-0ubuntu0.18.04.4) ...

Vous ne voudrez certainement pas suivre ces instructions si votre installation Mysql ne s'est pas terminée auparavant (il y a une raison pour laquelle le script de post-installation insiste pour être exécuté). Mais pour ceux qui pourraient se retrouver avec dpkg dans un état bancal, comme je l'ai fait, ce qui précède peut vous faire économiser beaucoup de temps pour purger et réinstaller une version déjà fonctionnelle de Mysql.

0
wbharding

Si vous travaillez sur Debian 10, vous devez d'abord installer GNUPG:

Sudo apt-get install gnupg

C'est tout; vous pouvez maintenant réessayer dpkg.

0
Geovas

Pour résoudre le problème de dépendance, essayez:

Sudo apt-get purge
Sudo apt-get clean
Sudo apt-get check

Et réinstallez le package à nouveau par: Sudo apt-get install mysql-server.

Source: Thread: Dpkg: Problèmes de dépendance - laissant non configuré .

Autres commandes à essayer:

Sudo apt-get install -f
Sudo apt-get autoremove
Sudo dpkg --configure -a 

Connexes: Comment puis-je résoudre la dépendance de dpkg? at Ask Ubuntu .

0
kenorb

Le problème peut être beaucoup plus simple (dans mon cas) J'ai eu une valeur mal configurée dans mon fichier de configuration [my.cnf] qui a conduit à l'erreur. Après le nettoyage de my.cnf mysql-server a été redémarré avec succès

0
na8ur