最近公司安排任務(wù)去研究unity ar 傍妒,這對(duì)于一心在web開發(fā),特別是前端技術(shù)的我拒迅,可以說帶來了不少困擾和情緒上的變動(dòng)∷龋可是當(dāng)我靜下心來想想璧微,夢(mèng)想是夢(mèng)想,實(shí)際是實(shí)際硬梁,帶著夢(mèng)想走著實(shí)際的路前硫,哪個(gè)不是學(xué)么,更何況ar荧止,vr現(xiàn)在正火著呢屹电。不管怎么樣我依然不會(huì)改變web開發(fā)的人生之路,如果現(xiàn)在改變不了現(xiàn)狀跃巡,那就等到有能力改變現(xiàn)狀的時(shí)候危号,我會(huì)堅(jiān)持下去,一直待到時(shí)機(jī)成熟時(shí)素邪。好了扯遠(yuǎn)了外莲,回到正題。
電腦系統(tǒng)從win換到mac后兔朦,最大的變化就是整個(gè)人都蒙蔽了偷线。mac和win的操作有很大的差別,所以長久在win的開發(fā)習(xí)慣都要進(jìn)行相應(yīng)的改變沽甥。沒辦法声邦,只能一步步學(xué)習(xí)mac上好的開發(fā)習(xí)慣。
1摆舟、mysql的n次安裝與卸載
mysql mac上的安裝方式有兩種翔忽,一種是直接去mysql 官方下載mac的安裝包英融,跟隨著指引一直next就行。安裝成功后歇式,會(huì)彈出一個(gè)對(duì)話框驶悟,里面告訴你臨時(shí)的mysql本地登錄密碼。然后找到mac 的偏好設(shè)置材失,可以發(fā)現(xiàn)多出一項(xiàng)mysql圖標(biāo)痕鳍,點(diǎn)擊打開,點(diǎn)擊start mysql service 按鈕打開mysql 服務(wù)就ok了龙巨。
可是本人好死不死就是忘記了提示的登錄密碼笼呆,接下來一系列的百度的指令操作、卸載旨别、重裝直接導(dǎo)致mac start mysql服務(wù)失效诗赌,沒有反應(yīng)。這里得吐槽一下自己沒有冷靜的思考問題秸弛。盲目的去跟隨別人的建議去操作,沒有任何意義铭若。
2、homebrew 安裝 mysql
換個(gè)思路吧递览,homebrew這個(gè)mac套件還不錯(cuò)叼屠,傳送門:
https://brew.sh/index_zh-cn.html
首先先把之前的mysql清理干凈,指令清理方式如下:
sudo rm /usr/local/mysql sudo rm -rf /usr/local/var/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* vim /etc/hostconfig and removed the line MYSQLCOM=-YES- 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.*
好了绞铃,接下來镜雨,安裝homebrew,打開終端儿捧,復(fù)制官網(wǎng)提供的指令荚坞,接下來就是指令自己去安裝了。
安裝mysql
brew install mysql
啟動(dòng)mysql
mysql.server start
報(bào)錯(cuò) 多個(gè)端口沒有被允許 (mysqld_safe.pid: Permission denied)菲盾,看來之前卸載依然有問題
看下哪些多余的端口颓影,pid還在運(yùn)行,指令查看
ps -ef|grep mysqld
ps -ef|grep mysql
通過指令把多余的殺掉
sudo kill -g pid號(hào)
sudo 很重要亿汞,在win系統(tǒng)中往往不需要瞭空,但是mac的安全機(jī)制經(jīng)常要在指令前加上sudo 揪阿,如果不輸入會(huì)報(bào)錯(cuò)疗我,所以加上為好。
再一次啟動(dòng)還是報(bào)同樣的錯(cuò)
運(yùn)行指令
sudo mysqld_safe --skip-grant-tables
--skip-grant-tables是個(gè)mysql一個(gè)參數(shù)南捂。它表示在啟動(dòng)mysql時(shí)不啟動(dòng)grant-tables吴裤,授權(quán)表。這個(gè)授權(quán)表就是之前授權(quán)拒絕的原因所在溺健。
發(fā)現(xiàn)終于看到success的字樣了
趕緊把密碼改過來麦牺,此時(shí)此刻,進(jìn)入mysql 密碼是空的,進(jìn)入后修改密碼
update user set password=password('你的新密碼') where user='root'
但是報(bào)錯(cuò)又來了
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
需要刷新用戶表
flush privileges
flush privileges的基本解釋:它本質(zhì)上的作用是將當(dāng)前user和privilige表中的用戶信息/權(quán)限設(shè)置從mysql庫(MySQL數(shù)據(jù)庫的內(nèi)置庫)中提取到內(nèi)存里剖膳。MySQL用戶數(shù)據(jù)和權(quán)限有修改后魏颓,希望在"不重啟MySQL服務(wù)"的情況下直接生效,那么就需要執(zhí)行這個(gè)命令吱晒。通常是在修改ROOT帳號(hào)的設(shè)置后甸饱,怕重啟后無法再登錄進(jìn)來,那么直接flush之后就可以看權(quán)限設(shè)置是否生效仑濒。而不必冒太大風(fēng)險(xiǎn)叹话。