

卸载 macOS 中的 MySQL 时遇到的疑问
source link: https://www.tuicool.com/articles/ryYRJfy
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

写在前面
之前对 MySQL 的了解,仅局限在一些简单的应用,大部分精力放在应用层——代码逻辑的设计与开发。最近和数据打交道比较多,需要对数据库有更多的了解,因此首先把自己之前傻瓜式安装的 MySQL 卸载掉,然后选择一个更容易操控的方式进行安装。
操作环境
- macOS High Sierra,10.13.6
细节
卸载已有的 MySQL
我的主要开发环境是 Mac,因此在网络上搜索了卸载 macOS 中的 MySQL 的方法,网络给出的答案倾向于简单粗暴,比如下面的列表:
brew remove mysql brew cleanup sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /usr/local/var/mysql sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist edit /etc/hostconfig and remove the line 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/com.mysql.* rm ~/Library/Cache/Homebrew/mysql*
看到这一长列的内容,一般人有两个反应:1)真的有这么多东西要删除吗?2)会不会有更多的东西需要清理而没有包含在列表中?
可以大体把上面给出的路径分成 /usr/local/
、 /Library/
、 ~/Library/
和 /private/var/db/receipts
三个目录。
涉及到的目录
/usr/local/
因为 macOS 是类 Unix 的系统,因此继承了很多 Unix 的特性。其中 /usr
并不是 user 的缩写,而是 Unix Software Resource
的缩写, 也就是 Unix 操作系统软件资源所放置的目录;所有系统默认的软件都会放置到 /usr
。用户自行安装的软件,一般统一安装到 /usr/local
,这样就很容易管理。
因为 MySQL 是我自己安装的,因此它所有的执行文件、大部分的配置文件等都在 /usr/local/
中,卸载 MySQL 的时候自然要检查这个目录中相关的文件。
/Library 和 ~/Library
是 macOS 专有的目录,存放系统资源库以及用户资源库相关的文件。 /Library/StartupItems
定义了系统启动过程中运行的程序, /Library/LaunchAgents
定义了登录启动项, /Library/PreferencePanes
定义了系统偏好设置面板中的配置项, /Library/Receipts
存储的是应用的”票据“,类似于权限配置文件,以此类推 /private/var/db/receipts/
里存放的也是类似的权限配置文件。
~/Library/Cache/
值得关注的是 ~/Library/Cache/
这个目录存放的是一些缓存文件,理论上这些文件都是可以删除的。如果电脑运行的时间够久,这个目录里回包含比较多的垃圾文件,如果磁盘空间比较紧张,可以考虑清理这里的文件。(可通过 ` du -h -d 1` 命令查看这个目录占用了多少空间)
brew 安装 MySQL
在 macOS 中, brew
应该算是一款非常大众的包管理工具了,而且它安装软件的套路也比较固定。由 brew
安装的软件会被安装在 /usr/local/Cellar
目录,然后通过软连接的形式软链到 /usr/local/bin
目录(有的软件可能不会软链),软件的配置文件一般在目录 /usr/local/etc/
,日志文件一般在目录 /usr/local/var/log/
,数据文件则直接放在目录 /usr/local/var
。
还可以通过 brew services start/stop
等命令来启动由 brew
安装的软件,同时注册开机启动。这一点还是挺方便的。
-
搜索可以安装的 mysql 版本。通过运行
brew search mysql
可以搜索可供安装的 mysql 包。 -
安装
[email protected]
。通过运行brew install [email protected]
安装版本为5.7
的 mysql,如果不指定版本,则会安装最新版本的 mysql。
小结
本文简单介绍了 Mac + MySQL
技术栈中 MySQL 的卸载与安装。
参考
- Mac 系统 LaunchAgents 介绍了 mac 中的 LaunchDaemons 和 LaunchAgents
- Mac OSX的开机启动配置 同样介绍了 LaunchDaemons 和 LaunchAgents,还介绍了 StartItems。
- Documentation — Homebrew Documentation Mac 系统的一款包管理工具
Recommend
-
22
阅读本文大概需要 4 分钟。 在 Go 语言中文网微信群 有人提出了这样的疑问,如下图(文档地址: https://dev.mysql.com/doc/internals/en/date-and-time-data-type-representation.html ) ...
-
5
Node.js 和 npm 的安装与卸载(MacOS)安装#
-
20
V2EX › Visual Studio Code macOS 上的 vscode 自动被卸载 ljhrot · 1 天前 · 1721 次点击
-
10
用了段时间微软的 Microsoft Edge 浏览器发现还是没 Chrome 用起来顺手,想将之卸载,咦?微软居然只提供...
-
8
macos删除Soundflower卸载残留虚拟声卡 sudo kextunload /System/Library/Extensions/Soundflower.kextsudo rm /System/Library/Extensions/Soundflower.kext
-
4
V2EX › MySQL MYSQL Json 字段操作疑问 seagull7558 · 2 小时 28 分钟前 · 108 次点击
-
3
V2EX › MySQL 关于 MySQL 函数效率的疑问 gadfly3173 · 19 小时 3 分钟前 · 489 次点击
-
5
V2EX › 程序员 关于 mysql 连接、连接池以及 socket 的疑问 liu1996 · 17 小时 6 分钟前...
-
5
解决卸载docker后删除docker目录遇到的rm: can't remove xxx Resource busy 问题 2019-05-03 技术
-
5
ubuntu系统卸载mysql 8 原文...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK