如何在 Mac OS X 上卸载 MySQL?

226

我无意间在我的Intel Mac中安装了Snow Leopard版本的PowerPC MySQL,它虽然能够安装成功,但显然无法正常运行。 我只是没有注意到这点。现在当我尝试安装正确的x86版本时,它说无法安装,因为已经安装了更新的版本。 通过谷歌查询,我发现应该执行以下操作/删除以下文件以卸载:

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*

最后从/etc/hostconfig中删除了MYSQLCOM=-YES-这一行。

它似乎并没有起到任何帮助作用。我仍然收到有关存在更新版本的相同消息。我尝试安装甚至更新的版本(当前的测试版),但它也给出了有关已安装更新版本的相同消息。我无法从偏好设置窗格中卸载它,因为我从未安装过该偏好设置窗格。


35
sudo rm -rf 带通配符的行有点不负责任。特别是当你把网广泛地铺开,以至于删除任何以字母“My”开头的东西时--MySQL并不拥有其标题中“我的”一词的独占权。 - Eric G
6
我还建议先备份 /usr/local/mysql/data 目录,因为很多人可能不知道在 Mac 上这是 MySQL 存储数据的位置。 - Michael Scott Asato Cuthbert
16个回答

235

也尝试运行

sudo rm -rf /var/db/receipts/com.mysql.*

4
如果存在,也要运行 sudo rm -rf /Library/StartupItems/MySQLCOM 命令。请注意不要改变原意,使翻译更加通俗易懂。 - Kellen Stuart

38

我也有以下条目:

/Library/Receipts/InstallHistory.plist

我必须删除的内容。


这些是什么类型的条目?希望只是在旧版本中出现了问题,但我没有看到任何名为mysql的东西。 - Termato

35
如果您是通过 brew 安装的 mysql,那么我们可以使用命令来卸载 mysql。
$ brew uninstall mysql

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

这对我很有用。


5
我希望能够卸载我的10.8 dmg版本,以便安装brew版本! :-) - dantiston
3
请从 ~/.zshrc 或者 ~/.bash_profile 或者 ~/.bashrc 中删除 "export PATH="/usr/local/opt/mysql@5.6/bin:$PATH"" 这一行代码。 - Himanshu Tanwar
适用于默认的MySQL 8.0.22 for Mojave,在我的电脑上可用。 - RicHincapie

21
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,它不应该工作。


1
我使用brew安装了mysql 5.6。执行brew remove mysql时出现错误:“Error: No such keg: /usr/local/Cellar/mysql”。所以我不得不执行brew uninstall mysql@5.6。此外,我还需要从bash配置文件(~/.zshrc对于我的情况)中删除“export PATH="/usr/local/opt/mysql@5.6/bin:$PATH"”。 - Himanshu Tanwar
1
我运行了 "brew remove mysql" 命令,但是出现了错误提示 "没有名为 'mysql' 的可用配方或桶。" - YuFeng Shen

14

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

前往“系统偏好设置” -> MYSQL图片描述

停止 MYSQL 服务器

图片描述

在停止 MYSQL 服务器后,会出现一个选项来卸载 MYSQL 8。


12

除了您问题中包含的大量删除命令外,根据我最近的经验,我在/private/var中发现了mysql.sock并将其删除。我使用以下命令:

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

...寻找任何看起来像mysql目录或文件的内容,并删除了大部分出现的内容(除了Perl/Python访问模块)。您还需检查进程守护程序是否仍在运行,可用Activity Monitor(或使用ps -A命令行)进行检查。我发现即使删除文件后,mysqld仍在运行。


1
如果您的“find”支持它,则可以(并且在这种情况下,可能应该)使用“-iname”来执行不区分大小写的搜索。 - damd

4

也许有些过度,但是您的MySQL命令历史记录也可以被清除:

~/.mysql_history

4

我在安装Mac OS X Snow Leopard时还有一个位于/etc/my.cnf的配置文件需要删除。


3

在尝试删除MySQL之前,您需要确定MySQL安装的位置。

我通常使用Hivelogic指南在Mac OS X下安装MySQL。该指南从源代码构建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安装位置的方法,而不仅仅是如何安装它。因为现在的回答并没有真正回答问题。 - Mike

3
你应该检查 /var/db/receipts 并删除所有包含 com.mysql.* 的条目。
使用 sudo rm -rf /var/db/receipts/com.mysql.* 对我不起作用。我必须进入 var/db/receipts 并逐个删除。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接