Comment supprimer complètement mysql-server sur Debian?

13

J'ai pensé partager ma question ici et ensuite répondre, car il semble y avoir beaucoup de gens coincés dans ma position - mais pas de réponse définitive. Le problème est, si vous supprimez apt-get mysql-server, il ne nettoie pas les fichiers de configuration et de base de données, donc si vous les avez vissés, puis réinstaller, ne les remplacera pas. Il semble donc que de nombreuses personnes se demandent "comment supprimer complètement mysql-server, afin de pouvoir réinstaller une nouvelle version?" - tout le monde répond par apt-get remove --purge mysql-server- je ne sais pas pourquoi, mais cela ne se désinstalle pas complètement. Ma réponse suit ...

Nick Bolton
la source

Réponses:

19

la suppression de mysql-server ne fonctionne pas car mysql-server n'est qu'un métapaquet qui dépend de la version spécifique du serveur

apt-get remove --purge 'mysql-.*'

ou

apt-get remove --purge 'mysql-server.*'

fera l'affaire.

Justin
la source
Merci pour le conseil. Je ne savais pas que des caractères génériques pouvaient être utilisés.
Nick Bolton
c'est en fait une expression régulière, donc le '. *' plutôt que le simple ' '. Si vous avez essayé de supprimer mysql- cela ne correspondrait qu'à un paquet nommé mysql ----------- ce qui n'est pas très utile :-)
Justin
comme mentionné ci-dessous, vous voudrez vous méfier de mysql-common qui est utilisé par quelques morceaux (pigeons d'esprit vient à l'esprit).
Frenchie
1
Ah, oui, l'expression rationnelle n'est pas générique - oups!
Nick Bolton
J'ai installé mysql 5.5 sur ma jesse raspbian. Après une mise à niveau, je ne sais pas pourquoi mais il a été mal configuré, ce qui a empêché sa désinstallation correctement. Votre réponse a complètement supprimé le serveur mysql 5.5 et j'ai pu mettre à jour. Attention, vous perdrez des fichiers de configuration (bases de données?) Si vous ne faites pas de sauvegardes.
russellhoff
2

Cela a fonctionné pour moi (j'avais également essayé d'installer la v5.0, mais cela a aggravé les choses):

apt-get remove --purge mysql-server-5.0 mysql-common mysql-client-5.0 \
mysql-server-5.1 mysql-client-5.1 mysql-server mysql-client

apt-get install mysql-server

Je pense que la clé ici est la suppression mysql-common- mais je ne suis pas sûr. Veuillez essayer ceci et laisser vos commentaires.

Nick Bolton
la source
Si vous utilisez 5.0 et supérieur, apt-get purge ...c'est la même chose queapt-get --purge remove ...
Zoredache
1

J'ai eu quelques problèmes avec ça. Même après avoir supprimé tous les packages du serveur, certains fichiers de configuration sont installés par mysql-common, ce qui est une dépendance de libmysqlclient.

Essayez d'utiliser dpkg -S /etc/mysqlpour voir quels packages installent ces fichiers.

Jorge Bernal
la source
0

Vous pouvez également utiliser dpkg -P pour y parvenir

Depuis la page de manuel de dpkg

 -P or --purge removes everything, including configuration files.
Dominik
la source