2 votes

Comment réparer l'installation de mysql si j'ai accidentellement supprimé un fichier du paquet mysql ?

J'ai accidentellement supprimé /etc/mysql (et d'autres fichiers), Maintenant, chaque fois que j'essaie d'installer un nouveau paquet, apt échoue.

Puis j'essaie de le réparer avec :

sudo apt --fix-broken install

Mais il échouera avec les messages d'erreur ci-dessous. Ce que je comprends, c'est que apt essaie d'arrêter mysql avant qu'il ne fasse une quelconque opération, mais comme il manque des fichiers, il ne peut pas s'arrêter correctement. Comment résoudre ce problème ?

Preconfiguring packages ... (Reading database ... 261168 files and directories currently installed.) Preparing to unpack
.../mysql-server-5.7_5.7.22-0ubuntu0.17.10.1_amd64.deb ...
grep: /etc/mysql/: No such file or directory
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
invoke-rc.d returned 5 There is a MySQL server running, but we failed in our attempts to stop it. Stop it yourself and try again!
dpkg: error processing archive /var/cache/apt/archives/mysql-server-5.7_5.7.22-0ubuntu0.17.10.1_amd64.deb
(--unpack):  subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing: /var/cache/apt/archives/mysql-server-5.7_5.7.22-0ubuntu0.17.10.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

3voto

scott huang Points 151

Il s'avère qu'il s'agit d'une autre erreur stupide, la première étant de supprimer manuellement les fichiers de configuration de mysql. La seconde est que je ne les ai pas tous supprimés, il en reste 2 en lien souple dans

/etc/systemd/system

qui pointe vers le service mysql qui est supprimé par moi. Je suppose qu'apt essaie de s'assurer que le service mysql est inactif, quand apt trouve le fichier du service mysql dans le répertoire

/etc/systemd/system

apt le fera fonctionner. Mais comme ils pointent vers des fichiers invalides, l'opération échoue. Après les avoir supprimés, apt fonctionne à nouveau. Je pense que systemctl disable peut également fonctionner, mais je ne l'ai pas essayé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X