2016-09-25 58 views
1

這是我的第一篇文章 - 我希望我的問題解釋能夠容易理解。我剛開始使用Laravel5。laravel 5 - 嘗試從phpmyadmin中檢索數據時:SQLSTATE HY000 1698拒絕用戶'root'訪問@'localhost'

我想從使用遷移成功創建的mysql數據庫中檢索數據。我遵循laracast系列。我創建了路線,控制器和視圖來顯示數據。可惜的是,當我輸入瀏覽器中看到它,我不斷收到此錯誤:

`SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'` 

enter image description here

我.ENV和database.php中的文件進行配置。另外,我可以在沒有錯誤的情況下進行遷移(並且我可以在其中查看可以登錄的phpmyadmin結果)。當我輸入php artisan修補程序時,我可以對我的數據庫執行各種操作。只有當我想在我的laravel站點顯示數據時纔會出現問題。

我做的問題,廣大研究,並試圖物權法定的提示,如:

1.更改本地主機爲127.0.0.1

2.change我的數據庫登錄,並通過對homeostead,祕密

3.我做

`GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY  'Your_Password';` 

當我鍵入mysql --user=root -p我可以登錄,但命令show databases的作用就像永無止境的,並說明不了什麼。

等...

現在,我在虧損的想法下一步怎麼辦,請幫助我。我會很感激,很多因爲我在這一點上真的被困住了!

我.ENV文件:

`DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=laravel 
DB_USERNAME=root 
DB_PASSWORD=haslo` 

我用homeostead和Laravel 5在Windows 7 服務器類型:MySQL5.7.15 PHP版本:7.1 的Apache/2.4.23,PHP/7.1

+0

確保數據庫「laravel」存在,手工創建一個,然後檢查文件/config/database.php在laravel項目,設置用戶名和密碼在部分「數據庫連接'和正確的數據庫驅動。 – Marcin

+0

是的,它存在(我的意思是我在phpmyadmin中手動創建laravel數據庫並填充它進行遷移)。我的文件/config/database.php與.env具有相同的值,我確實選擇了mysql作爲默認值。 – Joanna697

回答

0

看看我的答案Unable to connect to local MySQL DB using Laravel

這也可能是你的答案。

+0

我不確定這是否(事實上,我試圖從虛擬機連接到我的本地phpmyadmin沒有遠程訪問權限)解決了我的問題。我仍在進行配置,以便啓用遠程訪問。但這是很棒的提示 - 謝謝! 還有一件事。我理解得好嗎?簡而言之:我在phpmyadmin中有一個本地數據庫,一旦我從終端進行遷移(我在本地輸入數據庫),但執行laravel代碼(然後我遠程輸入數據庫)輸入它? – Joanna697

+0

通常是相反的。你有一個像宅基地這樣的VM模仿你的服務器。你的數據庫和網絡服務器位於那裏。你的文件夾被映射成nginx(這是默認的homestead web服務器)所以你所做的就是編輯你喜歡的一面(你有崇高的文本或如此安裝的位置),nginx將加載文件並連接到數據庫裏面的虛擬機。 – hogan

0

如果你使用流浪漢的家園,那麼laravel會在流浪者內部進行午餐,而127.0.0.1,3306將意味着mysql在流浪漢中,輸入vagrant ssh並檢查數據庫。

0

試試這個命令:

Php artisan config:clear 
相關問題