Назад | Перейти на главную страницу

Как полностью удалить MySQL из установки Linux?

Я был удивлен, обнаружив, что один из моих привилегированных пользователей установил MySQL в Linux. Сервер (mysqld) запущен и ничего не делает. Все мои навыки в Oracle, поэтому я не знаю, как выключить и удалить установку MySQL.

Вы не упомянули, какой дистрибутив вы используете, но если они установили его через yum в дистрибутиве на основе RedHat, вы можете удалить его с помощью:

yum remove mysql-server

Если бы они установили его в собственном пользовательском пространстве, вы бы просто удалили двоичные файлы, на которых запущен сервер. Если это на Debian / Ubuntu, вы должны использовать упомянутый метод Sparks. Я бы также использовал:

killall mysqld; killall mysqld_safe

Все зависит от того, как исходный пользователь установил пакет. Если они использовали встроенное в операционную систему управление пакетами, это должно быть так же просто, как строка yum в ответе Дейва, или в системе на основе Debian (включая Ubuntu) вы можете использовать:

apt-get remove mysql-server

(Кроме того, используйте очистку вместо удаления, если вы также хотите удалить пользовательские файлы конфигурации)

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

dpkg -l|grep mysql

Если указанный пользователь не использовал инструмент управления пакетами, то единственное реальное решение - просто убедиться, что сервер не загружается при запуске (chkconfig или update-rc.d - два удобных инструмента для этого - проверьте их man страниц) и вручную удалите все установленные файлы.

Если пользователь настраивал какие-либо базы данных, вам может потребоваться удалить и их. В базовой установке MySQL файлы таблиц можно найти в /var/lib/mysql. Если они находятся где-то еще, вы можете просто найти файлы таблиц. У них будет .frm extension и должен содержаться в каталоге, названном в честь базы данных, с которой они связаны.

В зависимости от вашего дистрибутива у вас должна быть возможность завершить его с помощью сценария инициализации в "/etc/init.d/mysql stop". Если это не удается, вы можете убить процессы с помощью чего-то вроде "for i in ps -ef |grep mysqld |awk '{print $2}'; делать kill -9 $i; сделано"

Это действительно будет зависеть от того, как они его установили, и как вы его удалили. Если вы используете дистрибутив на основе Debian: «sudo apt-get remove mysqld»

Согласно комментарию Zoredache, вы также можете сделать: «sudo apt-get purge mysqld», который также удалит файлы конфигурации.

Возможно, сам пользователь не знает, что он установил mysql. Это может произойти, если mysql является зависимостью какой-либо другой программы. Взгляните на файл журнала диспетчера пакетов, например: для проверки redhat /var/log/yum.log. Вероятно, вы найдете еще несколько установленных пакетов одновременно. Затем вы можете сделать вывод, что хотел сделать пользователь, и, возможно, вы также захотите удалить некоторые другие пакеты, которые вы не знали об установке!

В недавнем RedHat вы можете, например, запустить «список истории yum», а затем, найдя дату установки в /var/log/yum.log, вы можете определить, какая операция yum была связана с установкой mysql, и вы можете для пример «yum history info operation_number», чтобы получить подробную информацию об установке, или «yum history undo operation_number», чтобы отменить операцию и удалить связанные пакеты.

Возможно, сам пользователь не знает, что он установил mysql. Это может произойти, если mysql является зависимостью какой-либо другой программы. Взгляните на файл журнала диспетчера пакетов, например: для проверки redhat /var/log/yum.log. Вероятно, вы найдете еще несколько установленных пакетов одновременно. Затем вы можете сделать вывод, что хотел сделать пользователь, и, возможно, вы также захотите удалить некоторые другие пакеты, которые вы не знали об установке!