如何卸载MySQL?


161

我使用安装了MySQL sudo apt-get。现在,我需要将其从系统中删除。

我怎样才能做到这一点?

Answers:


256

从系统中完全删除mysql只需输入终端

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean

1
我想这行不通。完成这些步骤后,我尝试了:sudo apt-get install mysql-client-core-5.5。但它显示:mysql-client-core-5.5 is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 97 not upgraded.。这是否意味着mysql仍驻留在我的PC中?
蝙蝠侠2012年

尝试sudo dpkg --purge mysql-server mysql-client mysql-common
Ketan Patel

1
如果我尝试sudo dpkg --purge mysql-server mysql-client mysql-common会得到:dpkg: warning: there's no installed package matching mysql-server dpkg: warning: there's no installed package matching mysql-client dpkg: warning: there's no installed package matching mysql-common 。我现在有点困惑。是否mysql已删除?
蝙蝠侠

4
这对我来说还不够,还需要做更多的事情:stackoverflow.com/a/16178696/447661
Mihai Rotaru 2014年

3
这对我来说还不够用-对我来说,这里的答案反而起作用:stackoverflow.com/a/16178696/368896
Dan Nissenbaum 2015年

64

以上所有解决方案都是正确的,但我会尝试

sudo apt-get删除-清除mysql *
须藤apt-get autoremove
须藤apt-get autoclean

这将卸载所有与mysql相关的软件包。


10
这是摆脱与mysql相关的一切的最简单/最简单的方法。尽管此处的通配符几乎可以匹配名称中带有“ mysq”的任何软件包,所以您可能需要指定sudo apt-get remove --purge -s 'mysql*'更具体的名称。
geerlingguy 2014年

其次是使用更具体的正则表达式。我最终使用了'^ mysql- '的正则表达式。最初,我要运行mysql,但是发现它捕获了大量无关的东西...例如:注意,为正则表达式'^ mysql *选择'mysql-testsuite' '注意,为正则表达式'^ mysql *'选择'mysql-server'注意,为正则表达式'^ mysql *'选择'mysql-server-core'注意,为正则表达式'^ mysql *'选择'mysqmail'注意,选择'正则表达式'^ mysql *'的mysqmail-pure-ftpd-logger
MaasSql

我尝试了此处和之后列出的所有命令,如果我在终端中键入“ mysql”并按两次Tab键,我仍然看到mysql出现了一些选项,这意味着什么吗?> mysql mysqld mysql_upgrade mysqlcheck mysql_install_db
GoProCameraByGoPro 2015年

这仅对我有用,当我使用sudo apt-get -f autoremove
Simon D

这给了我两个类似E的错误:无法找到mysql包。我的安装似乎有点混乱。而且我什至无法重新安装它,这有点令人恐惧。
布劳伦

24

这将从ubuntu 15.04中删除mysql 5.6

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql

1
手动删除目录对我来说似乎是必要的(因此+1),也许是因为我的目录是符号链接?
乔纳森

1
我觉得您的答案最简洁,所以我想在这里发表评论。我为mariadb做过类似的事情,但是我注意到我有一个悬挂的系统服务。我必须使用以下方法将其删除:superuser.com/a/936976/260852
Mario Olivio Flores

1
谢谢,这也适用于Ubuntu 16.04上的mysql 5.7。
tated

6

首先,您需要停止服务mysql服务器。

sudo service mysql stop

然后您可以使用purge命令进行卸载

sudo apt-get purge mysql-server mysql-client

注意:以上根据您的包裹清单。我已经安装了服务器和客户端。这将为您带来方便


对我来说,停止MySQL服务是关键。我有它运行,并不断收到一个错误:dpkg: unrecoverable fatal error, aborting: fork failed: Cannot allocate memory E: Sub-process /usr/bin/dpkg returned an error code (2) 停止MySQL,那么在运行 sudo dpkg --configure -a 其次是 sudo apt-get remove --purge mysql* 为我工作。
tww0003

4

我不太使用Ubuntu,但是我认为您应该尝试的是我所做的。

我在命令行中键入第一本:sudo apt-get remove --purge mysql-server mysql-client mysql-common

然后下面是这个: sudo apt-get autoremove

最后输入这个:sudo apt-get autoclean

我发现它已被删除。


3

我忘记了mysql的root密码,需要重置。我尝试了这个http://www.rackspace.com/knowledge_center/article/mysql-resetting-a-lost-mysql-root-password,但由于它一直说不能写日志或类似内容而没有用。现在我的解决方案是从Ubuntu13.10完全删除mysql并重新安装。

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo rm -rf /var/lib/mysql

我必须运行最后一个命令行,因为Ubuntu有时会保留一些库,即使您尝试清除它们。现在安装mysql服务器和客户端

sudo apt-get install mysql-client mysql-server

1

当我尝试sudo apt-get purge mysql*时不起作用。

清除MYSQL5有:

sudo apt-get purge mysql-*

然后进行清理:

sudo apt-get autoremove
sudo apt-get autoclean

0

完全卸载mysql:

sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql*
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld ~/.mysql_history
updatedb

基于这个答案和许多其他答案...


0

尝试一下,它将完全清除系统中MySQL的每个文件:

sudo service mysql stop  #or mysqld
sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo deluser -f mysql
sudo rm -rf /var/lib/mysql
sudo apt-get purge mysql-server-core-5.7
sudo apt-get purge mysql-client-core-5.7
sudo rm -rf /var/log/mysql
sudo rm -rf /etc/mysql
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.