Как мне полностью удалить MySQL?

50

Ответы на связанные вопросы забывают:

  • удалить базы данных MySQL
  • удалить mysqlпользователя
  • удалить логи в /var/log

Как мне полностью удалить MySQL?

Олате
источник

Ответы:

113

Составляя другой ответ , откройте терминал (нажмите Ctrl+ Alt+ T) и выполните следующее:

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

Если вы хотите удалить журнал того, что вы сделали во время использования mysqlклиента:

rm ~/.mysql_history

Если вы хотите удалить журналы того, что все пользователи системы делали во время использования mysqlклиента (другие пользователи могут быть недовольны этим):

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

или для всех журналов, в том числе за пределами существующих домашних каталогов пользователей:

sudo find / -name .mysql_history -delete
Олате
источник
18
Вам также может понадобиться dpkg -l | grep mysqlперечислить все установленные пакеты mysql, например, sudo apt-get purge mysql-commonдля каждой записи
xxjjnn
7
Если вы переустановите mysql после этого, возможно, вам придется запустить mkdir /etc/apparmor.d/abstractions/mysqlи mkdir /etc/mysql/conf.d/снова.
килтек
18

Я нашел некоторую помощь, но она не удалила все. Я добавил звездочку до и после mysql следующим образом:

sudo apt-get remove --purge *mysql\*
sudo apt-get autoremove
sudo apt-get autoclean
Foxsolo
источник
2
Вы пытаетесь ответить на вопрос?
Джордж Удосен
2
лучший ответ когда-либо :)
RicardoE
1
Я также sudo rm -rf /var/lib/mysqlсделал бы, если бы я не сделал этого, я столкнулся с проблемой при повторной подготовке сервера (используя ansible-role-mysql geerlingguy).
TryHarder
Это также удаляет расширение php mysqli
Джабер Аль Нахайан
ВНИМАНИЕ: это может удалить кучу других пакетов, которые любой ссылки на MySQL, внимательно прочитайте, что будет удалено.
Наджиб Мами
1

Еще один способ, который работал для меня, это использовать Synamptic Package Manager. На левой панели, где написано: Все, Установлено и т . есть запись для Not Installed (остаточная конфигурация) (или аналогичная формулировка). Там я нашел варианты очистки всех установочных файлов MySQL. Это работало для MySQL 5.7.

Энтони
источник