重装 mac 本子上的 MySQL,同时清理一波磁盘空间

写在前面

之前对 MySQL 的了解,仅局限在一些简单的应用,大部分精力放在应用层——代码逻辑的设计与开发。最近和数据打交道比较多,需要对数据库有更多的了解,因此首先把自己之前傻瓜式安装的 MySQL 卸载掉,然后选择一个更容易操控的方式进行安装。

操作环境

细节

卸载已有的 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 安装的软件,同时注册开机启动。这一点还是挺方便的。

  1. 搜索可以安装的 mysql 版本。通过运行 brew search mysql 可以搜索可供安装的 mysql 包。
  2. 安装 mysql@5.7。通过运行 brew install mysql@5.7 安装版本为 5.7 的 mysql,如果不指定版本,则会安装最新版本的 mysql。

小结

本文简单介绍了 Mac + MySQL 技术栈中 MySQL 的卸载与安装。

参考