玄幻問題
mac 中用 brew 安裝 mysql,理想中是這樣的:執(zhí)行一行命令,就可以愉快地使用 mysql
現(xiàn)實(shí)卻是這樣的:當(dāng)系統(tǒng)曾經(jīng)安裝過 mysql, 用 brew 卸載后再安裝新版 mysql 時(shí),可能就會(huì)遇到以下的莫名其妙的坑
啟動(dòng)服務(wù)
$ brew services start mysql
連接 mysql, 報(bào)錯(cuò)如下:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
改用以下命令啟動(dòng):
$ mysql.server start
Starting MySQL
. ERROR! The server quit without updating PID file (/usr/local/var/mysql/long-MacBook-Pro.local.pid).
進(jìn)入 /usr/local/var/mysql 目錄,查看報(bào)錯(cuò),依然不知所云...
百度、谷歌無數(shù),各種方案嘗試,看遍無數(shù)吐槽,最后解決了,但依然不知其所以然,只能說:這是一個(gè)玄學(xué)
如果你也遇到此問題,不妨嘗試用以下方式:
徹底刪除 mysql
kill所有mysql進(jìn)程
ps -ax | grep mysql 找出相關(guān)進(jìn)程并kill
brew刪除mysql
$ brew uninstall -f mysql
$ brew cleanup
刪除相關(guān)文件
# 將 Cellar 目錄下相關(guān)的 mysql 目錄都刪除
$ rm -rf /usr/local/Cellar/mysql
$ 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/My*
解除上版本的mysql自動(dòng)登錄
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
刪除上個(gè)版本的配置
$ 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*
$ sudo rm -f /etc/my.cnf
如果存在此文件 /etc/hostconfig 將 MYSQLCOM=-YES- 這一行刪除
重啟電腦,確保所有mysql相關(guān)的進(jìn)程文件都被清除干凈
重新安裝 mysql
$ brew install mysql
一鍵輕松安裝。默認(rèn)情況下,root用戶不需要密碼即可登錄
為mysql設(shè)置root密碼:
$ mysql_secure_installation
按提示輸入 root 密碼,mysql8 對(duì)于密碼強(qiáng)度有一定要求,過于簡單的密碼是通不過的
小結(jié)
如果經(jīng)過以上操作還解決不了,只能祝福你了,大兄弟,努力吧...