Vraag Hoe verwijder ik MySQL volledig van een Linux-installatie?


Ik was verrast toen ik ontdekte dat een van mijn bevoorrechte gebruikers MySQL op een linux-box installeerde. De server (mysqld) draait en doet niets. Mijn vaardigheden liggen allemaal in Oracle, dus ik ben niet bekend met het afsluiten en verwijderen van de MySQL-installatie.


7
2017-10-13 18:15


oorsprong




antwoorden:


U hebt niet vermeld welke distributie u gebruikt, maar als ze het via yum op een op RedHat gebaseerde distributie hebben geïnstalleerd, kunt u verwijderen met:

yum remove mysql-server

Als ze het in hun eigen gebruikersruimte zouden installeren, zou je gewoon de binaire bestanden verwijderen die de server draaien. Als het op Debian / Ubuntu staat, zou je de genoemde methode sparks gebruiken. Ik zou ook als alternatief gebruiken:

killall mysqld; killall mysqld_safe

20
2017-10-13 18:36



Het is een goed idee om de gewoonte aan te nemen om pkill te gebruiken in plaats van killall. Je kunt ooit op een Solaris-doos terechtkomen :) - MikeyB
ik geef de voorkeur aan /sbin/service mysql stop. Dan kunt u chkconfig mysql off om het uit te schakelen van het opnieuw starten. Dan is de failsafe manier om te verwijderen van op RPM gebaseerde distro's (als root) rpm -qa | grep mysql, dan rpm -e mysql-<package_name>. - churnd
pkill mysqld; pkill mysqld_safe werkte wonderbaarlijk. proberen killall mysqld; killall mysqld_safe was niet succesvol. Op Fedora 18 had ik succes met pkill, bedankt MikeyB. - RyanMichael
Ik moest ook gebruiken: yum verwijder mysql, als het commando welke mysql vertoont nog steeds mysql geïnstalleerd pad. - shasi kanth


Het hangt allemaal af van hoe de oorspronkelijke gebruiker het pakket heeft geïnstalleerd. Als ze het ingebouwde pakketbeheer van het besturingssysteem zouden gebruiken, zou dit net zo eenvoudig moeten zijn als de yum-regel in Dave's antwoord of op een Debian-gebaseerd systeem (inclusief Ubuntu), je kunt gebruiken:

apt-get remove mysql-server

(Gebruik terzelfdertijd zuiveren in plaats van verwijderen als u ook aangepaste configuratiebestanden wilt verwijderen)

Als u de exacte pakketnaam niet weet om te verwijderen op Ubuntu:

dpkg -l|grep mysql

Als de gebruiker in kwestie geen pakketbeheertool heeft gebruikt, dan is de enige echte oplossing om ervoor te zorgen dat de server niet wordt geladen bij het opstarten (chkconfig of update-rc.d zijn daarvoor twee handige hulpmiddelen - bekijk hun man pagina's) en verwijder handmatig alle geïnstalleerde bestanden.


6
2017-10-14 02:45



Whoops, sorry voor het overtollige ubuntu antwoord - het achterlaten voor de chkconfig en update-rc.d suggestie ...)
Zorg ervoor dat u GUI-tools / workbench ook verwijdert voor het geval dat is geïnstalleerd: sudo apt-get remove mysql-workbench - pm_labs


Als de gebruiker databases heeft opgezet, moet u deze misschien ook verwijderen. In de pakketbasisinstallatie van MySQL zijn de tabelbestanden te vinden in /var/lib/mysql. Als ze ergens anders zijn, kun je gewoon zoeken naar de tabelbestanden. Ze zullen een hebben .frm extensie, en moet worden opgenomen in een map die is genoemd naar de database waaraan ze zijn gekoppeld.


2
2017-10-13 18:48





Afhankelijk van je distributie zou je de optie moeten hebben om het uit te schakelen met een init-script in "/etc/init.d/mysql stop". Als dit mislukt, kun je de processen doden met iets dat lijkt op 'voor i in' ps -ef |grep mysqld |awk '{print $2}'; do kill -9 $i; gedaan"

Het zal echt afhankelijk zijn van hoe ze het hebben geïnstalleerd voor hoe je het hebt verwijderd. Als u een debian-gebaseerde distributie gebruikt: "sudo apt-get remove mysqld"

Per commentaar van Zoredache kun je ook doen: "sudo apt-get purge mysqld" waarmee ook configuratiebestanden zouden worden verwijderd.


1
2017-10-13 18:26



Misschien wilt u 'apt-get purge' in plaats van verwijderen als u zich volledig wilt ontdoen van alles. De pakketnaam zal waarschijnlijk 'mysql-server' en 'mysql-common' zijn en niet mysqld. - Zoredache


Misschien weet de gebruiker zelf niet dat hij mysql heeft geïnstalleerd. Het kan gebeuren als mysql afhankelijk is van een ander programma. Kijk eens naar het logboekbestand van de pakketbeheerder, ex: voor een redhat-check /var/log/yum.log. Waarschijnlijk zul je waarschijnlijk nog meer pakketten tegelijk geïnstalleerd vinden. U kunt dan afleiden wat de gebruiker wilde doen, en misschien wilt u ook enkele andere pakketten verwijderen, zodat u niet op de hoogte was van de installatie!

Op een recente redhat kunt u bijvoorbeeld "yum history list" uitvoeren, en nadat u de installatiedatum in /var/log/yum.log hebt gevonden, kunt u afleiden welke yum-bewerking gerelateerd was aan de mysql-installatie en kunt u voor bijvoorbeeld "yum history info operation_number" om details van de installatie te krijgen, of "yum history undo operation_number" om de bewerking ongedaan te maken en de bijbehorende pakketten te verwijderen.


0
2018-02-07 11:53





Misschien weet de gebruiker zelf niet dat hij mysql heeft geïnstalleerd. Het kan gebeuren als mysql afhankelijk is van een ander programma. Kijk eens naar het logbestand van de pakketbeheerder, ex: voor een redhat-controle /var/log/yum.log. Waarschijnlijk zul je waarschijnlijk nog meer pakketten tegelijk geïnstalleerd vinden. U kunt dan afleiden wat de gebruiker wilde doen, en misschien wilt u ook enkele andere pakketten verwijderen, zodat u niet op de hoogte was van de installatie!


0
2018-04-24 12:22