2012-12-13 41 views
1

我現在有一個新的MabBook 10.8,我試圖設置所有的Apache & MySQL等 Apache成功運行,包括虛擬主機。Mac OSX 10.8 MySQL連接錯誤:本地主機不工作,127.0.0.1一切ok

在我的/ etc/hosts中

我把所有的本地主機集,包括127.0.0.1本地主機等

當我嘗試coennct我的本地虛擬主機之一,例如alpensonne,我可以連接到MySQL沒有任何麻煩。如果我努力了MySQL主機爲localhost,我得到的follwoing錯誤:

Database connection error (2): Could not connect to MySQL. 

我知道錯誤(2)指用戶名或密碼不正確,但都是精品。 如果我

mysql -u root 
SELECT password,host FROM user where user='root'; 

也連我剛纔做是雙重肯定:

SET PASSWORD FOR 'root'@'localhost' = ''; 

有沒有可能是本地主機使用不同的MySQL插座?也許它然後嘗試連接到不同的MySQL?

我希望有人能幫助我。

+0

爲什麼不使用甲基苯丙胺??? – shadyyx

回答

2

好的我發現了這個錯誤... 問題是,我忘了把php.ini文件改爲指向mysql.default_socket ...我的default_socket被設置爲/ var/mysql/mysql .sock 所以我只是創建了一個符號鏈接到/tmp/mysql.sock,現在一切正常! :)

@shadyyx 感謝您的MAMP的建議,我當然知道這一點,但不是對MAMP,XAMPP,LAMP等Windows用戶很喜歡,所以你可以使用Apache而不是IIS,但是,對於Linux,Unix以及Mac用戶,您可以使用apache服務器中的構建...因此不需要使用其他第三方軟件。你也依賴於PHP版本等。我更喜歡它能夠自己配置它。

+1

僅供參考:您得到此錯誤的原因是,如果您指定「localhost」作爲主機名,MySQL將與本地套接字連接,即使您可能希望它通過TCP進行連接,例如當您使用「127.0.0.1」時。 – RikkusRukkus

+0

非常感謝,是的,我已經閱讀了MySQL的文檔頁面... – schurtertom

0

用MySQL,從MacPorts的它的工作原理與此路徑:

mysql.default_socket = /opt/local/var/run/mysql56/mysqld.sock 
2

爲了闡述從@schurtertom答案...

的問題是,在php.ini默認mysql.default_socket設置爲不同的而不是MySQL實際放置該文件的位置。

相反編輯配置文件,創建在PHP正在連接到真正的mysql.sock運行這兩個命令的位置的別名(無重啓需要):

mkdir /var/mysql 
ln -s /tmp/mysql.sock /var/mysql/mysql.sock 
+0

爲我工作。謝謝! (Mac OS 10.11.6)我用自制軟件安裝了mysql。 – eloone

相關問題