Mac Pro下卸载安装Mysql
系统版本:OS X 10.11.5
昨天为了修改我的Mysql密码,找了一堆教程在不明所以的情况下各种乱试,终于把我的mysql玩脱了,走上了曲折的mysql重装之路。
一、Mac 关于Mysql的卸载:
如使用brew安装:brew uninstall mysql
或者 brew remove mysql
但是又有点怕某些东西没有卸载完全影响到下一次的安装(我第一次重装就是这样的��)以下是完整一点的手动卸载:
- sudo rm /usr/local/mysql
- sudo rm -rf /usr/local/mysql*
- sudo rm -rf /Library/StartupItems/MySQLCOM
- sudo rm -rf /Library/PreferencePanes/My*
- rm -rf ~/Library/PreferencePanes/My*
- sudo rm -rf /Library/Receipts/mysql*
- sudo rm -rf /Library/Receipts/MySQL*
- sudo rm -rf /var/db/receipts/com.mysql.*
参考:How do you uninstall MySQL from Mac OS X?
其实不同的安装方式有些东西的存储位置不一样,删除完检查一下一些问文件是否删除了,没有的话则删除掉:
- /usr/local/Cellar 里的mysql文件
- /usr/local/var 里的mysql文件
- /tmp 里的mysql.sock, mysql.sock.lock, my.cnf文件
- pid文件和err文件都在/usr/local/var/mysql里确保删除了
- brew安装的安装包存储在/usr/local/Library/Cache/Homebrew也可以一并删除
- 执行
brew cleanup
二、各种文件的作用
此次卸载安装的过程中,感悟最深的还是对很多文件的作用都不甚了解,导致到出了什么问题就只会沿着那个问题找答案,有时候找到的答案有作用时候找到的答案就会很坑,所以就想了解一些那些文件究竟是什么作用
安装过程中最常见的问题:
ERROR!The server quit without updating PID file (/usr/local/var/mysql/***MacBook-Pro.local.pid)
(一)Pid文件:
记录==当前Mysql进程的Process ID==。未指定 pid 文件时,pid 文件默认名为
主机名.local.pid
,存放的路径在默认MySQL的数据目录。通过mysqld_safe
启动MySQL时,mysqld_safe
会检查pid文件,如果pid文件不存在,不做处理;如果文件存在,且 pid 已占用则报错A mysqld process already exists
,如果文件存在,但 pid 未占用,则删除 pid 文件。mysqld 启动后会通过
create_pid_file
函数新建 pid 文件,通过getpid()
获取当前进程 pid 并将 pid 写入 pid 文件因此,通过
mysqld_safe
启动时, MySQL pid文件的作用是:在数据文件是同一份,但端口不同的情况下,防止同一个数据库被启动多次。
➜ / ll /usr/local/var/mysql/SarahMacBook-Pro.local.pid
-rw-r----- 1 sarah admin 6B 5 19 17:55 /usr/local/var/mysql/SarahMacBook-Pro.local.pid
➜ / ps -ef | grep mysql | grep -v grep
501 65673 1 0 四05下午 ?? 0:00.02
/bin/sh
/usr/local/opt/mysql/bin/mysqld_safe
--bind-address=127.0.0.1
--datadir=/usr/local/var/mysql
501 65767 65673 0 四