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

8

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

dacracot
источник

Ответы:

21

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

yum remove mysql-server

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

killall mysqld; killall mysqld_safe
Дэйв Драгер
источник
4
Это хорошая идея, чтобы привыкнуть использовать pkill вместо killall.
Когда-
4
Я предпочитаю /sbin/service mysql stop. Затем вы можете chkconfig mysql offотключить его от перезапуска. Затем отказоустойчивый способ удаления из дистрибутивов на основе RPM (как root) rpm -qa | grep mysql, затем rpm -e mysql-<package_name>.
churnd
pkill mysqld; pkill mysqld_safeработал чудесно. Попытка killall mysqld; killall mysqld_safeне удалась. На Fedora 18 у меня был успех с pkill, спасибо MikeyB.
RyanMichael
Я также должен был использовать: yum remove mysql , как команду, в которой mysql все еще показывает путь установки mysql.
Шаси Кант
6

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

apt-get remove mysql-server

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

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

dpkg -l|grep mysql

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


источник
Ой, простите за лишний ответ Ubuntu - оставив его для предложения chkconfig и update-rc.d ...)
Убедитесь, что вы удалили GUI tools / workbench также в случае, если он установлен: sudo apt-get remove mysql-workbench
pm_labs
2

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

НВФ
источник
1

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

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

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

sclarson
источник
1
Вы можете хотеть 'apt-get purge' вместо remove, если вы хотите полностью избавиться от всего. Имя пакета, вероятно, будет «mysql-server» и «mysql-common», а не mysqld.
Зоредаче
0

Возможно, сам пользователь не знает, что он установил 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» для отмены операции и удаления связанных пакетов.

Rosco
источник
0

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

MD Wajaheth
источник