2017-07-17 50 views
0

我在創建數據庫表時遇到問題。Laravel - 如何創建數據庫表

首先我創建模型:

php artisan make:model Company -m 

其次,我更新遷移公司文件,並說我需要

第三我要phpMyAdmin列,並創建一個名爲新數據庫測試

四我運行命令php artisan migratephp artisan migrate:install和我有一個錯誤:

[Illuminate\Database\QueryException]SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = test and table_name = migrations) 

[PDOException]SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) 

database/config.php我編輯的MySQL驅動這樣:

'mysql' => [ 
     'driver' => 'mysql', 
     'host' => env('DB_HOST', 'localhost'), 
     'port' => env('DB_PORT', '3306'), 
     'database' => env('DB_DATABASE', 'test'), 
     'username' => env('DB_USERNAME', 'root'), 
     'password' => env('DB_PASSWORD', 'pass'), 
     'charset' => 'utf8', 
     'collation' => 'utf8_general_ci', 
     'prefix' => '', 
     'strict' => true, 
     'engine' => null, 
    ], 

而且.env file

DB_CONNECTION=mysql 
DB_HOST=localhost 
DB_PORT=3306 
DB_DATABASE=test 
DB_USERNAME=root 
DB_PASSWORD=pass 

我也試圖清理緩存,php artisan config:clear

任何人都可以幫到我嗎?我不明白是什麼問題。

謝謝

+0

重新啓動服務器並重試 –

+0

您沒有密碼登錄到phpmyadmin。刪除密碼,在env文件中保留空白 – Exprator

+0

@Exprator phpmyadmin與它無關,而且btw mysql被配置爲使用該用戶的密碼。這可能是錯誤的 –

回答

0

你的「根」密碼不正確,或者它可能沒有所需的權限。

[PDOException]SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) 

復位 「根」 密碼:

https://www.howtoforge.com/setting-changing-resetting-mysql-root-passwords

格蘭特的 「根」 用戶權限:

Ubuntu的:https://www.liquidweb.com/kb/how-to-add-a-user-and-grant-root-privileges-on-ubuntu-14-04/

的Centos:https://www.liquidweb.com/kb/how-to-add-a-user-and-grant-root-privileges-on-centos-7/

然後再次嘗試:)

爲OP

更新(OSX):

Setting the MySQL root user password on OS X

+0

我認爲它試圖在information_schema中創建遷移表......這是正常的嗎? @NorbertBoros – user3242861

+0

@ user3242861 - 它不應該那樣做...現在連接是否工作? –

+0

是否發生這種情況是因爲我只在創建遷移後定義了連接? @NorbertBoros – user3242861

0
在配置

/database.php中文件編輯密碼字段爲「密碼 '=> ENV(' DB_PASSWORD','')和.env文件中DB_PASSWORD =將字段保留爲空,如此處所示

+0

你怎麼知道他不使用密碼? –