我很惊讶地发现我的一个特权用户在Linux上安装了MySQL。 服务器(mysqld)正在运行,什么都不做。 我的技能都在Oracle中,所以我不熟悉如何closures和删除MySQL安装。
你没有提到你使用的是什么发行版,但是如果他们通过yum在基于RedHat的发行版上安装它,你可以使用:
yum remove mysql-server
如果他们将其安装在自己的用户空间中,则只需删除运行服务器的二进制文件即可。 如果在Debian / Ubuntu上,你可以使用上面提到的火花方法。 我也可以使用:
killall mysqld; killall mysqld_safe
这一切都取决于原始用户如何安装软件包。 如果他们使用操作系统的内置软件包pipe理,它应该像Dave的答案中的yum或者基于Debian的系统(包括Ubuntu)一样简单,您可以使用:
apt-get remove mysql-server
(另外,如果你还想删除自定义configuration文件,使用清除而不是删除)
如果您不知道在Ubuntu上删除的确切软件包名称:
dpkg -l|grep mysql
如果有问题的用户没有使用包pipe理工具,那么唯一真正的解决scheme是简单地确保服务器在启动时不加载(chkconfig或update-rc.d是两个方便的工具 – 检查他们的人页面)并手动删除所有已安装的文件。
如果用户碰巧设置了任何数据库,则可能还需要删除这些数据库。 在MySQL的软件包基础安装中,表文件可以在/var/lib/mysql 。 如果他们在其他地方,你可以只search表格文件。 它们将具有.frm扩展名,并且应该包含在与其关联的数据库之后命名的目录中。
根据您的发行版,您应该可以select使用“/etc/init.d/mysql stop”中的初始化脚本将其closures。 如果这个失败了,你可以使用类似于“for ps -ef |grep mysqld |awk '{print $2}'方式杀死进程;执行kill -9 $i ;完成“
这将取决于他们如何安装它,以便如何删除它。 如果你正在运行一个基于debian的发行版:“sudo apt-get remove mysqld”
每Zoredache的评论,你也可以做:“sudo apt-get purge mysqld”这也将删除configuration文件。
也许用户自己不知道他安装了mysql。 如果mysql是某个其他程序的依赖项,就会发生这种情况。 查看包pipe理器日志文件,例如:redhat检查/var/log/yum.log。 您可能会同时find更多的软件包。 然后你可以推断出用户想要做的事情,也许你还想删除一些你不知道安装的其他软件包!
在最近的redhat上你可以运行“yum history list”,然后在/var/log/yum.log中find安装date后,你可以推断出哪个yum操作和mysql安装有关,你可以例如“yum history info operation_number”来获取安装的细节,或者“yum history undo operation_number”来恢复操作并卸载相关的包。
也许用户自己不知道他安装了mysql。 如果mysql是某个其他程序的依赖项,就会发生这种情况。 查看包pipe理器日志文件,例如:redhat检查/var/log/yum.log 。 您可能会同时find更多的软件包。 然后你可以推断出用户想要做的事情,也许你还想删除一些你不知道安装的其他软件包!