不是每個人都會碰到macos安裝mysql 報錯,但是我確實都碰到了,這里面坑也比較多,獨立解決這些問題,也是對你本身基礎知識的一次檢查,所以我更傾向于大家先獨立排查,如果還是沒解決再來看下文。
MacOS通過DMG文件安裝MySQL 之后。。。。
你可能會遇到這兩個頭疼的提示:
error1
Unable?to?connect?to?host?127.0.0.1?because?access?was?denied. Double-check?your?username?and?password?and?ensure?that?access?from?your?current?location?is?permitted. MySQL?said:?Access?denied?for?user?'root'@'localhost'?(using?password:?YES)
error2
Unable?to?connect?to?host?127.0.0.1,?or?the?request?timed?out. Be?sure?that?the?address?is?correct?and?that?you?have?the?necessary?privileges,?or?try?increasing?the?connection?timeout?(currently?10?seconds). MySQL?said:?Your?password?has?expired.?To?log?in?you?must?change?it?using?a?client?that?supports?expired?passwords.
不是每個人都會碰到這個問題,但是我確實都碰到了,這里面坑也比較多,獨立解決這些問題,也是對你本身基礎知識的一次檢查,所以我更傾向于大家先獨立排查,如果還是沒解決再來看下文。另外說一句,如果你是在laravel官方推薦的Homestead環境中的話,可能不會碰到這幾個問題。但是我是一個比較愛折騰的人,特別喜歡debug,特別喜歡在命令行里敲東西,所以也順便解決了這個問題,給大家分享一下。
首先,我們來重現一下從安裝MySQL開始的整個過程。
1、在mysql官網下載MySQL的dmg安裝包:https://dev.mysql.com/downloads/mysql/
2、dmg文件下載好之后,雙擊安裝,注意到最后一步的時候,會彈出一個提示框:
root@localhost 后面的W:ivGGB5lrdS 這個是MySQL安裝時給你的初始密碼,這個很重要,一定要記下來。
3、啟動MySQL:
進入Mac的系統偏好設置
4、啟好MySQL之后,我選擇了Sequel pro這個軟件來操作數據庫。
這時候,就會出現之前的兩個錯誤,
其中前文提到的error1的意思是你的MySQL 賬號密碼有錯,我一開始在laravel項目的.env文件中設置好了數據庫相關的配置,所以直接輸入的是.env文件中的配置,然后就會提示
Unable?to?connect?to?host?127.0.0.1?because?access?was?denied. Double-check?your?username?and?password?and?ensure?that?access?from?your?current?location?is?permitted. MySQL?said:?Access?denied?for?user?'root'@'localhost'?(using?password:?YES)
另外error2的錯誤中,錯誤提示的意思是:
password has expired,其實意思是你不可以用剛才安裝好MySQL的初始密碼登錄,你需要在重置你的MySQL密碼,然后用新密碼來登錄root賬戶,接下來我們來解決這個問題。
首先在命令行模式下輸入MySQL
不出意外的話,你會看到一個提示
mysql?command?not?found
這是因為我們是通過dmg文件包的形式安裝的MySQL,系統不知道MySQL這個東西,我們需要在bash文件中加入MySQL路徑(我的命令行工具使用的是zsh,每個人用的不一樣,但是思路是一樣的,就是在bash文件中加入MySQL路徑)
先打開bash文件,然后添加MySQL路徑。
在打開的文件中輸入下面這行命令,保存后退出即可在命令行中使用MySQL命令。
export?PATH=$PATH:/usr/local/mysql/bin
之后,我們需要重置MySQL root 賬戶的密碼,在命令行中輸入
mysql?-u?root?-p
然后輸入MySQL提供的那個初始密碼,如果出現如下提示,說明我們進入了MySQL的設置項
這時,我們在 ? ?mysql >后面輸入
SET?PASSWORD?FOR?'root'@'localhost'?=?PASSWORD('你想要設置的root賬戶的新密碼');
當看到
就表示重置密碼成功,然后我們打開Sequel pro輸入root賬號和新密碼時,就可以使用了。
相關推薦:
安裝完MySQL,在配置最后一步報錯errorNr.1364
安裝完MySQL,在配置最后一步報錯errorNr.1364