如何从 Linux 安装中彻底删除 MySQL?

如何从 Linux 安装中彻底删除 MySQL?

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

答案1

您没有提到您正在使用什么发行版,但如果他们通过 yum 在基于 RedHat 的发行版上安装了它,您可以使用以下命令删除:

yum remove mysql-server

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

killall mysqld; killall mysqld_safe

答案2

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

apt-get remove mysql-server

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

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

dpkg -l|grep mysql

如果相关用户没有使用包管理工具,那么唯一真正的解决方案就是确保服务器不会在启动时加载(chkconfig 或 update-rc.d 是两个方便的工具 - 检查它们的手册页)并手动删除所有已安装的文件。

答案3

如果用户碰巧设置了任何数据库,您可能也需要删除它们。在 MySQL 的软件包基础安装中,可以在 中找到表文件/var/lib/mysql。如果它们在其他地方,您只需搜索表文件即可。它们将具有.frm扩展名,并且应包含在以它们关联的数据库命名的目录中。

答案4

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

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

相关内容