重装 mac 本子上的 MySQL,同时清理一波磁盘空间
写在前面
之前对 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 包。 - 安装
mysql@5.7
。通过运行brew install mysql@5.7
安装版本为5.7
的 mysql,如果不指定版本,则会安装最新版本的 mysql。
小结
本文简单介绍了 Mac + MySQL
技术栈中 MySQL 的卸载与安装。
参考
- Mac 系统 LaunchAgents 介绍了 mac 中的 LaunchDaemons 和 LaunchAgents
- Mac OSX的开机启动配置 同样介绍了 LaunchDaemons 和 LaunchAgents,还介绍了 StartItems。
- Documentation — Homebrew Documentation Mac 系统的一款包管理工具