如何从Linux安装中完全删除MySQL?


8

我很惊讶地发现我的一个特权用户在一个Linux机器上安装了MySQL。服务器(mysqld)正在运行,什么也不做。我的技能都是Oracle,所以我不熟悉如何关闭和删除MySQL安装。

Answers:


21

您没有提到正在使用什么发行版,但是如果他们通过yum将其安装在基于RedHat的发行版上,则可以使用以下方式删除:

yum remove mysql-server

如果他们将其安装在自己的用户空间中,则只需删除运行服务器的二进制文件即可。如果它在Debian / Ubuntu上,则可以使用上面提到的方法。我也可以使用:

killall mysqld; killall mysqld_safe

4
养成使用pkill代替killall的习惯是一个好主意。您
终有一天

4
我更喜欢/sbin/service mysql stop。然后,您可以chkconfig mysql off禁用它以免重新启动。然后故障安全方式从基于RPM发行版移除(根)rpm -qa | grep mysql,然后rpm -e mysql-<package_name>
09年

pkill mysqld; pkill mysqld_safe工作出色。尝试killall mysqld; killall mysqld_safe不成功。感谢MikeyB,在Fedora 18上,我在pkill上取得了成功。
RyanMichael

我也不得不使用:百胜删除mysql的,作为命令它的MySQL仍然呈现mysql的安装路径。
shasi kanth,2015年

6

这完全取决于原始用户如何安装软件包。如果他们使用操作系统的内置程序包管理,那么它应该与Dave答案中的yum行或基于Debian的系统(包括Ubuntu)一样简单,您可以使用:

apt-get remove mysql-server

(顺便说一句,如果您还想删除自定义配置文件,请使用清除而不是删除)

如果您不知道要在Ubuntu上删除的确切软件包名称:

dpkg -l|grep mysql

如果有问题的用户没有使用软件包管理工具,那么唯一的解决方案就是简单地确保服务器不会在启动时加载(chkconfig或update-rc.d是两个方便的工具-检查他们的人页),然后手动删除所有已安装的文件。


糟糕,对于多余的ubuntu回答,抱歉–将其留给chkconfig和update-rc.d建议...)

确保也删除了GUI工具/工作台(如果已安装):sudo apt-get remove mysql-workbench
pm_labs 2012年

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”,这也会删除配置文件。


1
如果您想完全摆脱所有问题,则可能需要“ apt-get purge”而不是删除。软件包名称可能是“ mysql-server”和“ mysql-common”,而不是mysqld。
Zoredache

0

也许用户本人不知道他安装了mysql。如果mysql是某些其他程序的依赖项,则可能发生这种情况。查看软件包管理器日志文件,例如:有关redhat的信息,请检查/var/log/yum.log。您可能会发现同时安装了更多软件包。然后,您可以推断出用户想要做什么,也许您还想删除一些其他软件包,以至于您不知道安装!

在最近的Redhat上,您可以运行“ yum history list”,然后在/var/log/yum.log中找到安装日期后,可以推断出与mysql安装相关的yum操作,并且可以例如,“ yum history info operation_number”以获取安装的详细信息,或“ yum history undo operation_number”以还原操作并卸载相关的软件包。


0

也许用户本人不知道他安装了mysql。如果mysql是某些其他程序的依赖项,则可能发生这种情况。查看软件包管理器日志文件,例如:用于redhat check /var/log/yum.log。您可能会发现同时安装了更多软件包。然后,您可以推断出用户想要做什么,也许您还想删除一些其他软件包,以至于您不知道安装!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.