Как мне удалить MySQL?


161

Я установил MySQL, используя sudo apt-get. Теперь мне нужно удалить его из моей системы.

Как я могу это сделать?

Ответы:


257

Чтобы полностью удалить mysql из вашей системы, просто введите терминал

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean

1
Я думаю, это не работает. После того, как я делаю эти шаги, я попытался: sudo apt-get install mysql-client-core-5.5. Но это показывает: mysql-client-core-5.5 is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 97 not upgraded.. Это значит, что MySQL все еще находится в моем компьютере?
Бэтмен

Попробуйте sudo dpkg --purge mysql-server mysql-client mysql-common
Кетан Патель

1
Если я пытаюсь sudo dpkg --purge mysql-server mysql-client mysql-commonя получаю: dpkg: warning: there's no installed package matching mysql-server dpkg: warning: there's no installed package matching mysql-client dpkg: warning: there's no installed package matching mysql-common . Я немного смущен сейчас. Это mysqlбыло удалено или нет?
Бэтмен

4
для меня этого было недостаточно, нужно было сделать еще несколько вещей: stackoverflow.com/a/16178696/447661
Михай Ротару

3
Этого также не было достаточно для меня - для меня также ответ здесь работал: stackoverflow.com/a/16178696/368896
Дэн Ниссенбаум

64

все вышеперечисленные решения верны, но я бы попробовал с

sudo apt-get удалить --purge mysql *
sudo apt-get autoremove
sudo apt-get autoclean

Это приведет к удалению всех связанных с MySQL пакетов.


10
Это самый простой / простой способ избавиться от всего, что связано с MySQL. Хотя подстановочный знак здесь будет в значительной степени соответствовать любому пакету с именем «mysq», так что вы можете указать sudo apt-get remove --purge -s 'mysql*'более конкретный.
geerlingguy

Заключено на использование более конкретного регулярного выражения. В итоге я использовал регулярное выражение '^ mysql- '. Сначала я собирался запустить mysql , но обнаружил, что он поймал кучу несвязанных вещей ... как: Примечание: выбор «mysql-testsuite» для регулярного выражения «^ mysql *» 'Примечание, выбирая' mysql-server 'для регулярных выражений' ^ mysql * 'Примечание, выбирая' mysql-server-core 'для регулярных выражений' ^ mysql * 'Примечание, выбирая' mysqmail 'для регулярных выражений' ^ mysql * 'Примечание, выбирая' mysqmail-pure-ftpd-logger 'для регулярных выражений' ^ mysql * '
MaasSql

Я перепробовал все команды, перечисленные здесь, и потом, если я введу «mysql» в терминал и дважды нажму «tab», я все еще вижу какой-нибудь вариант для mysql, это что-нибудь значит? > mysql mysqld mysql_upgrade mysqlcheck mysql_install_db
GoProCameraByGoPro

Это работало только для меня, когда я использовал sudo apt-get -f autoremove
Simon D

это дает мне пару ошибок, таких как `E: Невозможно найти пакет mysql`. моя установка, кажется, немного испорчена. и это отчасти страшно, что я даже не могу переустановить его.
phil294

24

Это удалит MySQL 5.6 из Ubuntu 15.04

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql

1
Удаление каталогов вручную казалось мне необходимым (т. Е. +1), возможно, потому что мои каталоги были символическими ссылками?
Джонатан

1
Я чувствовал, что ваш ответ был самым кратким, поэтому я хотел бы прокомментировать здесь. Я сделал что-то похожее для mariadb, однако заметил, что у меня болтался системный сервис. Я должен был удалить это, используя: superuser.com/a/936976/260852
Марио Оливио Флорес

1
Спасибо, это также работает для MySQL 5.7 на Ubuntu 16.04.
ровано

6

Во-первых, вы должны остановить ваш сервер MySQL от обслуживания.

sudo service mysql stop

Затем вы можете использовать команду очистки, чтобы удалить

sudo apt-get purge mysql-server mysql-client

Примечание: выше на основе вашего списка пакетов. Я установил как сервер, так и клиент. Это будет для вашего удобства


Остановка службы MySQL была ключевой для меня. Я запустил его и продолжал получать сообщение об ошибке: dpkg: unrecoverable fatal error, aborting: fork failed: Cannot allocate memory E: Sub-process /usr/bin/dpkg returned an error code (2) остановка MySQL, затем запуск, sudo dpkg --configure -a а затем sudo apt-get remove --purge mysql* сработал для меня
tww0003

4

Я не пользуюсь Ubuntu, но я думаю, что вы должны попробовать это то, что я сделал.

Я первый напечатал это в командной строке: sudo apt-get remove --purge mysql-server mysql-client mysql-common,

затем следует с этим ниже: sudo apt-get autoremove

и , наконец , набирается так: sudo apt-get autoclean.

Я обнаружил, что это было удалено.


3

Я забыл пароль пользователя root MySQL и мне нужно было сбросить его. Я попробовал это , но это не сработало, потому что оно продолжало говорить «не могу писать логи» или что-то подобное.

Моим решением было полное удаление MySQL из Ubuntu 13.10 и новая установка.

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo rm -rf /var/lib/mysql

Мне пришлось выполнить последнюю команду, потому что Ubuntu иногда держит некоторых библиотек, даже если вы пытаетесь очистить их всех.

Теперь я использую эту команду для установки сервера и клиента MySQL:

sudo apt-get install mysql-client mysql-server

1

Когда я попробовал, sudo apt-get purge mysql*это не сработало.

Удалил mysql5 с помощью:

sudo apt-get purge mysql-*

Тогда для уборки:

sudo apt-get autoremove
sudo apt-get autoclean

0

Полностью удалите MySQL:

sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql*
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 ~/.mysql_history
updatedb

На основании этого ответа и многих других ...


0

Попробуйте это, это полностью уничтожит каждый файл MySQL из вашей системы:

sudo service mysql stop  #or mysqld
sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo deluser -f mysql
sudo rm -rf /var/lib/mysql
sudo apt-get purge mysql-server-core-5.7
sudo apt-get purge mysql-client-core-5.7
sudo rm -rf /var/log/mysql
sudo rm -rf /etc/mysql
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.