Comment supprimer complètement MySQL d'une installation Linux?

8

J'ai été surpris de constater qu'un de mes utilisateurs privilégiés a installé MySQL sur une boîte Linux. Le serveur (mysqld) fonctionne et ne fait rien. Mes compétences sont toutes dans Oracle, donc je ne sais pas comment arrêter et supprimer l'installation de MySQL.

dacracot
la source

Réponses:

21

Vous n'avez pas mentionné la distribution que vous utilisez, mais s'ils l'ont installée via yum sur une distribution basée sur RedHat, vous pouvez supprimer avec:

yum remove mysql-server

S'ils l'ont installé dans leur propre espace utilisateur, vous supprimez simplement les fichiers binaires qui exécutent le serveur. Si c'est sur Debian / Ubuntu, vous utiliseriez la méthode Sparks mentionnée. J'utiliserais également:

killall mysqld; killall mysqld_safe
Dave Drager
la source
4
C'est une bonne idée de prendre l'habitude d'utiliser pkill au lieu de killall. Vous pourriez vous retrouver un jour sur une box Solaris :)
MikeyB
4
Je préfère /sbin/service mysql stop. Ensuite, vous pouvez chkconfig mysql offdésactiver le redémarrage. Ensuite, le moyen de sécurité pour supprimer des distributions basées sur RPM (en tant que root) rpm -qa | grep mysql, alors rpm -e mysql-<package_name>.
churnd
pkill mysqld; pkill mysqld_safea fonctionné à merveille. L'essai killall mysqld; killall mysqld_safen'a pas réussi. Sur Fedora 18, j'ai eu du succès avec pkill, merci MikeyB.
RyanMichael
J'ai également dû utiliser: yum remove mysql , comme la commande que mysql affiche toujours le chemin d'installation de mysql.
shasi kanth
6

Tout dépend de la façon dont l'utilisateur d'origine a installé le package. S'ils ont utilisé la gestion de paquets intégrée au système d'exploitation, cela devrait être aussi simple que la ligne yum dans la réponse de Dave ou sur un système basé sur Debian (y compris Ubuntu), vous pouvez utiliser:

apt-get remove mysql-server

(En passant, utilisez la purge au lieu de supprimer si vous souhaitez également supprimer les fichiers de configuration personnalisés)

Si vous ne connaissez pas le nom exact du package à supprimer sur Ubuntu:

dpkg -l|grep mysql

Si l'utilisateur en question n'a pas utilisé d'outil de gestion de paquets, alors la seule vraie solution est simplement de s'assurer que le serveur ne se charge pas au démarrage (chkconfig ou update-rc.d sont deux outils pratiques pour cela - vérifiez leur homme pages) et supprimez manuellement tous les fichiers installés.


la source
Oups, désolé pour la réponse Ubuntu redondante - en laissant la suggestion chkconfig et update-rc.d ...)
Assurez-vous de supprimer les outils / workbench GUI également dans le cas où il est installé: sudo apt-get remove mysql-workbench
pm_labs
2

Si l'utilisateur a créé des bases de données, vous devrez peut-être également les supprimer. Dans l'installation de base du package de MySQL, les fichiers de table se trouvent dans /var/lib/mysql. S'ils sont ailleurs, vous pouvez simplement rechercher les fichiers de table. Ils auront une .frmextension et devraient être contenus dans un répertoire nommé d'après la base de données à laquelle ils sont associés.

rvf
la source
1

Selon votre distribution, vous devriez avoir la possibilité de l'arrêter avec un script d'initialisation dans "/etc/init.d/mysql stop". Si cela échoue, vous pouvez tuer les processus avec quelque chose de similaire à "for i in ps -ef |grep mysqld |awk '{print $2}'; do kill -9 $i; done"

Cela dépendra vraiment de la façon dont ils l'ont installé et de la façon dont vous l'avez supprimé. Si vous utilisez une distribution basée sur Debian: "sudo apt-get remove mysqld"

Selon le commentaire de Zoredache, vous pouvez également faire: "sudo apt-get purge mysqld" qui supprimerait également les fichiers de configuration.

sclarson
la source
1
Vous voudrez peut-être «purger apt-get» au lieu de supprimer si vous voulez vous débarrasser complètement de tout. Le nom du paquet sera probablement «mysql-server» et «mysql-common» et non mysqld.
Zoredache
0

Peut-être que l'utilisateur lui-même ne sait pas qu'il a installé mysql. Cela peut arriver si mysql est une dépendance d'un autre programme. Jetez un œil au fichier journal du gestionnaire de paquets, par exemple: pour une vérification de redhat /var/log/yum.log. Vous trouverez probablement d'autres packages installés en même temps. Vous pouvez ensuite déduire ce que l'utilisateur voulait faire, et peut-être que vous souhaitiez également supprimer certains autres packages que vous n'étiez pas au courant de l'installation!

Sur un redhat récent, vous pouvez par exemple exécuter "yum history list", puis après avoir trouvé la date d'installation dans /var/log/yum.log, vous pouvez déduire quelle opération yum était liée à l'installation de mysql, et vous pouvez pour exemple "yum history info operation_number" pour obtenir des détails sur l'installation, ou "yum history undo operation_number" pour annuler l'opération et désinstaller les packages associés.

Rosco
la source
0

Peut-être que l'utilisateur lui-même ne sait pas qu'il a installé mysql. Cela peut arriver si mysql est une dépendance d'un autre programme. Jetez un œil au fichier journal du gestionnaire de paquets, ex: pour une vérification redhat /var/log/yum.log. Vous trouverez probablement d'autres packages installés en même temps. Vous pouvez ensuite déduire ce que l'utilisateur voulait faire, et peut-être que vous souhaitiez également supprimer certains autres packages que vous n'étiez pas au courant de l'installation!

md wajaheth
la source