MacOS安裝MySQL 報錯

MacOS經過DMG文件安裝MySQL 以後。。。。

你可能會遇到這兩個頭疼的提示: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,特別喜歡在命令行裏敲東西,因此也順便解決了這個問題,給你們分享一下。laravel

首先,咱們來重現一下從安裝MySQL開始的整個過程。git

一、在mysql官網下載MySQL的dmg安裝包:https://dev.mysql.com/downloads/mysql/github

二、dmg文件下載好以後,雙擊安裝,注意到最後一步的時候,會彈出一個提示框:sql

clipboard.png

root@localhost 後面的W:ivGGB5lrdS 這個是MySQL安裝時給你的初始密碼,這個很重要,必定要記下來。數據庫

三、啓動MySQL:
進入Mac的系統偏好設置bash

clipboard.png

clipboard.png

四、啓好MySQL以後,我選擇了Sequel pro這個軟件來操做數據庫。工具

clipboard.png

這時候,就會出現以前的兩個錯誤,
其中前文提到的error1的意思是你的MySQL 帳號密碼有錯,我一開始在laravel項目的.env文件中設置好了數據庫相關的配置,因此直接輸入的是.env文件中的配置,而後就會提示spa

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

clipboard.png

不出意外的話,你會看到一個提示

mysql command not found

這是由於咱們是經過dmg文件包的形式安裝的MySQL,系統不知道MySQL這個東西,咱們須要在bash文件中加入MySQL路徑(個人命令行工具使用的是zsh,每一個人用的不同,可是思路是同樣的,就是在bash文件中加入MySQL路徑)
先打開bash文件,而後添加MySQL路徑。

clipboard.png

在打開的文件中輸入下面這行命令,保存後退出便可在命令行中使用MySQL命令。

export PATH=$PATH:/usr/local/mysql/bin

clipboard.png

以後,咱們須要重置MySQL root 帳戶的密碼,在命令行中輸入

mysql -u root -p

而後輸入MySQL提供的那個初始密碼,若是出現以下提示,說明咱們進入了MySQL的設置項

clipboard.png

這時,咱們在 mysql >後面輸入

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你想要設置的root帳戶的新密碼');

當看到

clipboard.png

就表示重置密碼成功,而後咱們打開Sequel pro輸入root帳號和新密碼時,就可使用了。

clipboard.png

clipboard.png

原文連接:Mac下經過DMG文件安裝MySQL以後。。。。

相關文章
相關標籤/搜索