Jak całkowicie usunąć serwer mysql z Debiana?


13

Uznałem, że podzielę się tutaj moim pytaniem, a następnie odpowiem, ponieważ wydaje się, że wiele osób utknęło na mojej pozycji - ale nie ma ostatecznej odpowiedzi. Problem polega na tym, że jeśli apt-get usuniesz mysql-server, to nie wyczyści on plików konfiguracyjnych i bazy danych, więc jeśli je w jakiś sposób zepsułeś, a następnie ponowna instalacja nie zastąpi ich. Wydaje się więc, że wiele osób pyta „jak całkowicie usunąć serwer mysql, aby móc ponownie zainstalować świeżo?” - wszyscy odpowiadają apt-get remove --purge mysql-server- Nie jestem pewien, dlaczego, ale to nie do końca się odinstalowuje. Moja odpowiedź wynika z ...

Odpowiedzi:


19

usunięcie serwera mysql nie działa, ponieważ serwer mysql to tylko metapakiet zależny od konkretnej wersji serwera

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

lub

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

da rade.


Dzięki za wskazówkę. Nie wiedziałem, że można użyć symboli wieloznacznych.
Nick Bolton,

w rzeczywistości jest to wyrażenie regularne, a zatem „. *” zamiast zwykłego ”. Jeśli spróbujesz usunąć mysql - pasuje tylko do pakietu o nazwie mysql ----------- co nie jest zbyt pomocne :-)
Justin

jak wspomniano poniżej, należy uważać na mysql-common, który jest używany przez kilka bitów i kawałków (na myśl przychodzi gołębnik).
Frenchie

1
Ach, tak, wyrażenie regularne nie jest symbolem wieloznacznym - ups!
Nick Bolton

Miałem mysql 5.5 zainstalowany na moim raspbian jessie. Po uaktualnieniu nie wiem dlaczego, ale został źle skonfigurowany, co uniemożliwiło jego prawidłowe odinstalowanie. Twoja odpowiedź całkowicie usunęła serwer mysql 5.5 i udało mi się zaktualizować. Uwaga, jeśli nie wykonasz kopii zapasowych, stracisz pliki konfiguracyjne (daty baz??).
russellhoff

2

To działało dla mnie (próbowałem również zainstalować wersję 5.0, ale to pogorszyło sprawę):

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

Myślę, że kluczem tutaj jest usunięcie mysql-common- ale nie jestem pewien. Spróbuj tego i zostaw swoje komentarze.


Jeśli używasz wersji 5.0 lub nowszej, apt-get purge ...jest to to samo coapt-get --purge remove ...
Zoredache

1

Miałem z tym pewne problemy. Nawet po usunięciu wszystkich pakietów serwera, niektóre pliki konfiguracyjne są instalowane przez mysql-common, co jest zależnością od libmysqlclient.

Spróbuj użyć, dpkg -S /etc/mysqlaby zobaczyć, które pakiety instalują te pliki.


0

Aby to osiągnąć, możesz także użyć dpkg -P

Ze strony podręcznika dpkg

 -P or --purge removes everything, including configuration files.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.