如何在Debian上完全删除mysql-server?


13

我认为我会在这里分享我的问题,然后再回答,因为似乎有很多人留在我的职位上,但是没有确切的答案。问题是,如果您通过apt-get删除mysql-server,它不会清理配置和数据库文件,因此,如果您以某种方式搞砸了它们,然后再次安装,将不会替换它们。因此,似乎有很多人问“如何完全删除mysql-server,以便可以重新安装一个全新的服务器?” -每个人都回答apt-get remove --purge mysql-server-我不确定为什么,但这不能完全卸载。我的回答如下...

Answers:


19

删除mysql-server无效,因为mysql-server只是依赖于特定服务器版本的metapackage

apt-get remove --purge 'mysql-.*'

要么

apt-get remove --purge 'mysql-server.*'

会成功的


谢谢你的提示。我不知道可以使用通配符。
尼克·博尔顿

它实际上是一个正则表达式,因此是'。*'而不是普通的' '。如果您尝试删除mysql-,它将仅匹配名为mysql -----------的软件包,这不是很有帮助:-)
Justin 2010年

如下所述,您将需要警惕一些常用的mysql-common(dovecot涌现出来)。
Frenchie 2010年

1
啊,是的,正则表达式不是通配符-糟糕!
尼克·博尔顿

我在raspbian jessie上安装了mysql 5.5。升级后,我不知道为什么,但是配置错误,无法正确卸载。您的回答确实删除了mysql 5.5服务器,并且我能够更新。请注意,如果不进行备份,将会丢失配置文件(datyabases?)。
russellhoff

2

这对我有用(我也尝试安装v5.0,但这使情况变得更糟):

apt-get remove --purge mysql-server-5.0 mysql-common mysql-client-5.0 \
mysql-server-5.1 mysql-client-5.1 mysql-server mysql-client

apt-get install mysql-server

我认为这里的关键是删除mysql-common-但我不确定。请尝试此并留下您的评论。


如果您使用的是5.0及更高版本,则apt-get purge ...apt-get --purge remove ...
Zoredache

1

我有一些问题。即使删除了所有服务器软件包,也仍然安装了一些配置文件mysql-common,这是的依赖项libmysqlclient

尝试使用dpkg -S /etc/mysql查看哪些软件包正在安装这些文件。


0

您也可以使用dpkg -P实现

从dpkg手册页

 -P or --purge removes everything, including configuration files.
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.