我試圖按照本指南: https://laravel.com/docs/5.2/quickstart用PHP工匠Laravel錯誤遷移
我在AWS上運行Ubuntu 14.04。我正在使用laravel 5.2。我對laravel很陌生(對於這個問題也很關注),我已經完成了指南中的所有內容,並得到了這個錯誤。
當我運行:
php artisan migrate
我得到以下錯誤:
[PDOException]
SQLSTATE[28000] [1045] Access denied for user 'homestead'@'localhost' (usin g password: YES)
的.ENV文件看起來是這樣的:
APP_ENV=local APP_DEBUG=true APP_KEY=hXP0uBJkQos3cHK7D8f6LVx2SLuLAuyv
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=localhost
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525 MAIL_USERNAME=null
MAIL_PASSWORD=null MAIL_ENCRYPTION=null
編輯:好了,所以我想這個問題是由於對Ubuntu,MySQL和laravel缺乏瞭解。我完全按照上面的鏈接中的指導,但我想這是爲運行宅基地的人。它看起來像在Ubuntu服務器上,你必須手動創建數據庫(猜測這似乎很明顯)。
所以與登錄到mysql:系統提示您輸入它的時候
mysql -u root -p
然後輸入密碼。
使用root可能不是一個好主意,但我只是在學習。 您在此處輸入的密碼與您必須在laravel根目錄中的.env文件中輸入的密碼相同。
一旦登錄到mysql的輸入:
mysql> create database homestead;
這將創建具有相同名稱作爲.ENV文件DB_DATABASE指定的宅基地=數據庫。我應該爲我不使用宅基地從宅基地改變:/
的DB_USERNAME是我們用來登錄到MySQL所以
DB_USERNAME = root
相同的用戶名當密碼是我們使用相同的密碼登錄到MySQL。
這可能似乎都很明顯,但我是新的,不知道。它也沒有在Laravel網站的快速入門指南中介紹。也許我沒有準確地遵循它,如果是的話,讓我知道。
乾杯
您是否已經在AWS上安裝MySQL? – enriqg9
我輸入了mysql --version並得到:mysql Ver 14.14 Distrib 5.5.46,對於使用readline的debian-linux-gnu(x86_64)6.3 –
什麼是DB_DATABASE,DB_USERNAME,DB_PASSWORD,數據庫是否會自動使用這些憑證創建?或者我必須手動執行它? DB_PASSWORD是否意味着我用來登錄到mysql的密碼?我使用以下命令登錄到mysql:「mysql -u root -p」<然後我輸入密碼>。這個密碼應該和DB_PASSWORD一樣嗎? –