2016-11-16 77 views
0

我最近在運行El Capitan的iMac上安裝了MySQL 5.7.16。我有幾個小打嗝最初是因爲我忘記了root密碼,但現在已經被重置,我現在可以使用登錄到MySQL作爲根用戶:無法使用SequelPro連接到MySQL

$ mysql -u root -p 

然而,當我嘗試連接到MySQL服務器的根使用SequelPro,我得到的消息:

Unable to connect via the socket, or the request timed out. 

Double-check that the socket path is correct and that you have the necessary privileges, and that the server is running. 

MySQL said: Your password has expired. To log in you must change it using a client that supports expired passwords. 

當我看到在/ tmp目錄文件夾中,我希望找到的mysql.sock但是,相反,有一個叫做mysql.sock.lock文件。這是否會導致問題?我找不到.lock文件來自哪裏,我不知道該怎麼辦。任何幫助,將不勝感激。

回答

0

您可以嘗試使用Sequel Pro的標準連接(使用127.0.0.1作爲主機)連接,而不是使用套接字連接。

+0

他需要爲[email protected]'127.0.0.1'設置root密碼。默認情況下有兩個根目錄 - localhost和127.0.0.1。編輯:這是假設SequelPro運行在與數據庫相同的機器上。如果不是,則需要設置遠程用戶帳戶和密碼。 –

+0

是的,SequelPro運行在同一臺機器上。我試過用127.0.0.1連接,但仍然沒有快樂。 SequelPro能夠連接到運行在不同機器上的MySQL,而不會出現任何問題。 – user1718097

+0

你試過關掉它嗎? https://www.youtube.com/watch?v=nn2FB1P_Mn8 – BakerStreetSystems

3

我不完全確定發生了什麼事情導致root密碼過期,但在作品中拋出了扳手。無論如何,對我來說,解決辦法是使用登錄到MySQL從終端:

$ mysql -u root -p 

...然後使用alter root用戶的密碼:

> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass'; 

這似乎這樣的伎倆。然後,我可以使用Sequel Pro登錄到MySQL,沒有任何問題。

+0

謝謝!將密碼更改爲新密碼也解決了我的問題 - 現在我可以使用SequelPro連接到本地mysql。這絕對不是一個明顯的解決方案。 – WallTearer

0

因此說話的5.7文檔:

安裝過程將創建只有一個根帳戶,「根」 @「本地主機」,自動爲這個帳戶生成隨機密碼,並標誌着密碼過期。 MySQL管理員必須使用隨機密碼以root用戶身份進行連接並分配新密碼。 (服務器將隨機密碼寫入錯誤日誌。)

因此,從終端連接並更改根密碼。

+1

OP表示他登錄並更改了root密碼。 – Robert