Comment désinstaller complètement MySQL?

50

Les réponses aux questions connexes oublient de:

  • supprimer les bases de données MySQL
  • supprimer l' mysqlutilisateur
  • enlever les journaux dans /var/log

Comment désinstaller complètement MySQL?

Olathe
la source

Réponses:

113

En vous basant sur une autre réponse , ouvrez un terminal (appuyez sur Ctrl+ Alt+ T) et exécutez les opérations suivantes:

sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql-server mysql-client
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld
updatedb
exit

Si vous souhaitez supprimer le journal de ce que vous avez fait en utilisant le mysqlclient:

rm ~/.mysql_history

Si vous souhaitez supprimer les journaux de ce que tous les utilisateurs du système ont fait lors de l'utilisation du mysqlclient (les autres utilisateurs pourraient ne pas être satisfaits de cela):

awk -F : '{ print($6 "/.mysql_history"); }' /etc/passwd | xargs -r -d '\n' -- sudo rm -f --

ou pour tous les journaux, y compris ceux situés en dehors des répertoires personnels des utilisateurs existants:

sudo find / -name .mysql_history -delete
Olathe
la source
18
Vous devrez peut-être aussi dpkg -l | grep mysqllister tous les paquets mysql installés, puis par exemple sudo apt-get purge mysql-commonpour chaque entrée
xxjjnn
7
Si vous réinstallez ensuite MySQL, vous devrez peut-être exécuter mkdir /etc/apparmor.d/abstractions/mysqlet à mkdir /etc/mysql/conf.d/nouveau.
Kiltek
18

J'ai trouvé de l'aide, mais cela n'a pas tout effacé. J'ai ajouté un astérisque avant et après mysql comme ceci:

sudo apt-get remove --purge *mysql\*
sudo apt-get autoremove
sudo apt-get autoclean
Foxsolo
la source
2
Essayez-vous de répondre à la question?
George Udosen
2
meilleure réponse jamais :)
RicardoE
1
Je le ferais également sudo rm -rf /var/lib/mysqlsi je ne le faisais pas, je rencontrais des problèmes lors du réapprovisionnement du serveur (en utilisant ansible-role-mysql de geerlingguy).
TryHarder
Il supprime également l'extension mysqli php
Jaber Al Nahian
ATTENTION: ceci peut supprimer un tas d'autres paquets liés à MySQL, lisez attentivement ce qui sera supprimé.
Nadjib Mami le
1

Une autre façon, qui a fonctionné pour moi, a été d’utiliser Synamptic Package Manager. Dans le volet de gauche, où il est dit: Tous, installés, etc . il existe une entrée pour Non installé (configuration résiduelle) (ou un libellé similaire). J'ai trouvé ci-dessous des options pour effacer tous les fichiers d'installation de MySQL. Cela a fonctionné pour MySQL 5.7.

Anthony
la source