Wie entferne ich mysql-server unter Debian vollständig?

13

Ich dachte, ich würde meine Frage hier teilen und dann antworten, da anscheinend viele Leute in meiner Position festsitzen - aber keine endgültige Antwort. Das Problem ist, wenn Sie apt-get mysql-server entfernen, werden die Konfigurations- und Datenbankdateien nicht bereinigt. Wenn Sie sie also irgendwie vermasselt haben, werden sie durch eine erneute Installation nicht ersetzt. Es scheinen also viele Leute zu fragen: "Wie entferne ich Mysql-Server vollständig, damit ich einen neuen installieren kann?" - Alle antworten mit apt-get remove --purge mysql-server- Ich bin mir nicht sicher warum, aber dies wird nicht vollständig deinstalliert. Meine Antwort folgt ...

Nick Bolton
quelle

Antworten:

19

Das Entfernen von MySQL-Server funktioniert nicht, da MySQL-Server nur ein Metapaket ist, das von der jeweiligen Serverversion abhängt

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

oder

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

werde den Trick machen.

Justin
quelle
Danke für den Tipp. Ich wusste nicht, dass Wildcards verwendet werden können.
Nick Bolton
Es ist eigentlich ein regulärer Ausdruck, also das '. *' und nicht das ' '. Wenn Sie versuchen, mysql zu entfernen, würde es nur mit einem Paket mit dem Namen mysql übereinstimmen -----------, was nicht sehr hilfreich ist :-)
Justin
Wie weiter unten erwähnt, sollten Sie vorsichtig mit mysql-common sein, das von ein paar Kleinigkeiten verwendet wird (Taubenschlag fällt mir ein).
Frenchie
1
Ah, ja, Regex nicht Wildcard - oops!
Nick Bolton
Ich hatte MySQL 5.5 auf meinem Raspbian Jessie installiert. Nach einem Upgrade weiß ich nicht warum, aber es wurde falsch konfiguriert gelassen, was die ordnungsgemäße Deinstallation verhinderte. Ihre Antwort hat mysql 5.5 server vollständig entfernt und ich konnte aktualisieren. Beachten Sie, dass Sie Konfigurationsdateien (Datenbanken?) Verlieren, wenn Sie keine Sicherungen durchführen.
Russellhoff
2

Das hat bei mir funktioniert (ich habe auch versucht, v5.0 zu installieren, aber das hat die Sache noch schlimmer gemacht):

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

Ich denke, der Schlüssel hier wird entfernt mysql-common- aber ich bin nicht sicher. Bitte versuchen Sie dies und hinterlassen Sie Ihre Kommentare.

Nick Bolton
quelle
Wenn Sie 5.0 und höher verwenden, apt-get purge ...ist dies dasselbe wieapt-get --purge remove ...
Zoredache
1

Ich hatte einige Probleme damit. Auch nach dem Entfernen aller Serverpakete sind einige Konfigurationsdateien von installiert mysql-common, was eine Abhängigkeit von ist libmysqlclient.

Versuchen Sie mit dpkg -S /etc/mysqlzu sehen, welche Pakete diese Dateien installieren.

Jorge Bernal
quelle
0

Sie können auch dpkg -P verwenden, um dies zu erreichen

Aus der Manpage von dpkg

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