2017-07-17 136 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

你怎么知道他不使用密码? –