如何从Mac OS X卸载MySQL?


208

我无意中在Snow Leopard的Intel Mac上安装了MySQL的PowerPC版本,并且没有问题,但是当然不能正常运行。我只是没有给予足够的重视。现在,当我尝试安装正确的x86版本时,它说无法安装,因为已经安装了较新的版本。Google查询使我执行以下操作/删除这些文件以将其卸载:

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/MySQL*
rm -rf ~/Library/PreferencePanes/MySQL*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*

最后从中删除行MYSQLCOM = -YES- /etc/hostconfig

他们似乎根本没有帮助。我仍然收到有关存在较新版本的相同消息。我尝试安装一个甚至更高的版本(当前的Beta),它也给我同样的消息,说明已经安装了一个更高的版本。我无法从Prefs窗格中卸载它,因为我也从未安装过PrefPane。


30
带有通配符的sudo rm -rf行有点不负责任。尤其是当您对网络进行足够广泛的删除以删除以字母“ My”开头的所有内容时,MySQL对其标题中的“ My”一词没有专有权。
埃里克·戈德堡

6
我还建议先备份/ usr / local / mysql / data -许多人可能没有意识到mysql将数据保留在mac上。
2014年

Answers:



35

我也有以下条目:

/Library/Receipts/InstallHistory.plist

我不得不删除。


这些是什么样的条目?希望它只是在旧版本中,但是我在那里看不到任何名为mysql的东西。
Termato'2

21

如果您是通过brew安装的,则可以使用命令来卸载mysql。

$ brew uninstall mysql

Uninstalling /usr/local/Cellar/mysql/5.6.19...

这对我有用。


4
希望...我将从10.8中删除dmg版本,以便可以安装brew版本!:-)
丹迪斯顿(Dantiston),2017年

1
还要从〜/ .zshrc或〜/ .bash_profile或〜/ .bashrc中删除“ export PATH =“ / usr/local/opt/mysql@5.6/bin:$ PATH””。
Himanshu Tanwar,

11
ps -ax | grep mysql

*停止并杀死任何MySQL进程

brew remove mysql
brew cleanup

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/mysql*
sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/MySql*

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

编辑/etc/hostconfig并删除该行MYSQLCOM=-YES-

rm -rf ~/Library/PreferencePanes/My*    
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*

*重新启动计算机只是为了确保杀死所有MySQL进程,尝试运行mysql,它不起作用


我已经使用brew安装了mysql 5.6。这样做brew remove mysql是给我一个错误:“错误:没有这样的桶:/ usr / local / Cellar / mysql”。所以我不得不做brew uninstall mysql@5.6。另外,我还必须从bash配置文件中删除“ export PATH =“ / usr/local/opt/mysql@5.6/bin:$ PATH””(我的情况是〜/ .zshrc)
Himanshu Tanwar

10

除了您的问题中一长串的删除命令(在我最近对这个问题的最新经验中,这似乎很全面)之外,我还发现mysql.sock在/ private / var中运行并将其删除。我用了

find / -name mysql -print 2> /dev/null

...以查找类似于mysql目录或文件的内容,并删除了大部分出现的内容(除了Perl / Python访问模块)。您可能还需要使用活动监视器(或在使用的命令行中ps -A)检查守护程序是否仍未运行。我发现即使删除文件,mysqld仍在运行。


1
您可以(在这种情况下,可能应该使用)-iname是否find支持您执行不区分大小写的搜索
damd


4

这可能是多余的,但您的MySQL命令历史记录也可以从以下位置清除:

~/.mysql_history

3

您需要先删除MySQL的安装位置,然后再尝试将其删除。

我总是使用Hivelogic指南在Mac OS X下进行安装,后者可从源代码构建MySQL。设置构建版本时,您可以使用--prefix参数指定要在其下安装MySQL的目录。您应确保该目录不存在,并尝试从源代码安装。

./configure --prefix=/usr/local/mysql --with-extra-charsets=complex \
--enable-thread-safe-client --enable-local-infile --enable-shared \
--with-plugins=innobase

我知道是旧答案,但这是在复查任务中提出的。也许您应该添加如何识别mysql的安装位置,而不仅仅是如何安装它。实际上,它并不能真正回答问题。
迈克,

3

您还应该检查/ var / db / receipts并删除所有包含com.mysql的条目。*

使用sudo rm -rf /var/db/receipts/com.mysql.*对我不起作用。我不得不进入var / db / receipts并分别删除每个。


0

对我来说,几年前我使用自制软件安装了MariaDB。正确的卸载过程为:brew卸载mariadb。


0

完全删除MySQL

打开终端

mysqldump备份您的数据库

使用以下命令检查MySQL进程:

ps -ax | grep mysql

停止并终止任何MySQL进程

在HomeBrew上分析MySQL:

brew remove mysql
brew cleanup

删除文件:

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/mysql*
sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*

卸载以前的MySQL自动登录:

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

删除以前的MySQL配置:

subl /etc/hostconfig` 
# Remove the line MYSQLCOM=-YES-

删除以前的MySQL首选项:

rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*

重新启动计算机只是为了确保杀死所有MySQL进程

尝试运行mysql,它不起作用


0

我也发现

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

使用所有其他答案后,请从OS X 10.10卸载MySQL Community Server 8.0.15。


0

操作系统版本:10.14.6 MYSQL版本:8.0.14

转到系统偏好设置-> MYSQL在此处输入图片说明

停止MySQL服务器

在此处输入图片说明

停止Mysql服务器后,此处将显示一个选项卸载MYSQL 8


-8

sudo find / | grep -i mysql

这对我来说就像是一种魅力。刚刚浏览了该列表,并确保删除了与MySQL相关的所有内容。


5
最终这对我来说非常不好,因为它发现了诸如Coda 2使用的MySQL映像以及Adobe Bridge中的某些文件之类的东西。
Ian128K

2
更快:sudo find / -iname "*mysql*"
bfontaine 2015年

2
是的,不要这样做..它会抹除您所有其他程序的依赖项。啊,我让键盘高兴了..丢了很多废话。
John Drefahl 2015年

2
这是非常糟糕的建议。我毁了我的系统。它删除了名称中包含mysql的所有文件。它甚至损坏了续集专业版和其他软件。现在,即使重新安装mysql,但在尝试连接sequel pro时出现错误。请报告此答案,并在更多人破坏计算机之前将其删除。并请建议我现在该怎么办?
Alok Kumar

4
为什么这被认为是一个坏主意?我的意思是你必须知道你在做什么。您不应该删除此命令找到的所有内容。但是,仅此命令不会造成任何伤害。并且对我很有帮助。
Juuro
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.