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

我该怎么做?

#1 楼

我假设您不再需要MySQL,并且已经备份了重要的数据库。我建议您备份重要的MySQL数据库。
注意:您的所有mysql数据都会丢失。
首先请确保MySQL服务已停止。
sudo systemctl stop mysql

删除MySQL完全关联所有软件包。
sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
/var/lib/mysql。
sudo rm -rf /etc/mysql /var/lib/mysql

(可选)删除不必要的软件包。缓存。
sudo apt autoremove


评论


我想这行不通。完成这些步骤后,我尝试了:sudo apt-get install mysql-client-core-5.5。但是它表明:mysql-client-core-5.5已经是最新版本。 0升级,0新安装,0删除和97未升级..这是否意味着mysql仍驻留在我的PC中?

–蝙蝠侠
2012年8月6日9:35



如果我尝试sudo dpkg --purge mysql-server mysql-client mysql-common我得到:dpkg:警告:没有与mysql-server dpkg匹配的已安装软件包:警告:没有与mysql-client dpkg匹配的已安装软件包:警告:没有安装了与mysql-common匹配的软件包。我现在有点困惑。那个mysql已经被删除了吗?

–蝙蝠侠
2012年8月6日上午11:17

为什么还要同时删除xbmc和xbmc-bin?使用phpmyadmin浏览时,mysql中没有xbmc表。

– Redsandro
2014年1月16日17:47

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

– Mihai Rotaru
2014年7月26日在21:07

这对我来说还不够-对我来说,这里的答案反而有效:stackoverflow.com/a/16178696/368896

–丹·尼森鲍姆(Dan Nissenbaum)
2015年10月9日在8:35



#2 楼

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

sudo apt-get remove --purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean


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

评论


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

–geerlingguy
2014年5月23日在18:52

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

– MaasSql
2015年3月11日在16:18



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

– GoProCameraByGoPro
15年3月26日在20:45

这仅在我使用sudo apt-get -f autoremove时对我有用

–西蒙D
2015年10月21日,下午5:33

这给了我一些错误,例如E:找不到软件包mysql。我的安装似乎有点混乱。而且我什至无法重新安装它,这有点令人恐惧。

– phil294
16年8月3日在20:17

#3 楼

这将从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),也许因为我的目录是符号链接?

–乔纳森
15年12月13日在9:20

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

–马里奥·奥利维奥·弗洛雷斯(Mario Olivio Flores)
16-9-28在14:28

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

–已完成
18年1月22日在22:52

#4 楼

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

sudo service mysql stop


然后可以使用purge命令卸载

sudo apt-get purge mysql-server mysql-client


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

评论


对我来说,停止MySQL服务是关键。我让它运行并不断出现错误:dpkg:不可恢复的致命错误,正在中止:fork失败:无法分配内存E:子进程/ usr / bin / dpkg返回了错误代码(2)停止MySQL,然后运行sudo dpkg- -configure -a,然后sudo apt-get remove --purge mysql *对我有用。

– tww0003
18年8月14日在14:44

#5 楼

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

我首先在命令行中键入以下内容:sudo apt-get remove --purge mysql-server mysql-client mysql-common

,然后在下面输入以下内容:sudo apt-get autoremove

,最后键入:sudo apt-get autoclean

我发现它已被删除。

#6 楼

我忘记了MySQL的root密码,需要重新设置密码。
我尝试了此操作,但没有成功,因为它一直说“无法写日志”或类似的内容。

我解决方案是从Ubuntu 13.10完全删除MySQL,然后重新安装。

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


我不得不运行最后一个命令,因为即使您尝试清除所有lib,Ubuntu有时也会保留一些库。

现在,我使用此命令安装MySQL服务器和客户端:

sudo apt-get install mysql-client mysql-server


#7 楼

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

使用以下方法清除了mysql5:

sudo apt-get purge mysql-*


然后进行清理:

sudo apt-get autoremove
sudo apt-get autoclean


#8 楼

完全卸载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

基于此答案以及许多其他信息...

#9 楼

尝试一下,它将完全清除系统中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