与php artisan迁移的Laravel错误

时间:2016-02-04 21:14:10

标签: php laravel ubuntu composer-php

我试图遵循本指南: https://laravel.com/docs/5.2/quickstart

我在aws上运行ubuntu 14.04。我正在使用laravel 5.2。我是laravel的新手(也是aws),我已经完成了指南中的所有内容并得到了这个错误。

当我跑步时:

  

php artisan migrate

我收到以下错误:

  

[PDOException]

     

SQLSTATE [28000] [1045]拒绝用户访问   '宅' @'本地主机' (使用密码:是)

.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 = homestead中指定的数据库同名的数据库。因为我不使用宅基地,所以我应该把它改成家园:/

DB_USERNAME与我们用于登录mysql的用户名相同

DB_USERNAME = root

虽然密码与我们用于登录mysql的密码相同。

这可能看起来很明显,但我是新人,不知道。 laravel网站上的快速入门指南也未涵盖这一点。也许我没有准确地遵循它,如果是这样,请告诉我。

干杯

2 个答案:

答案 0 :(得分:3)

正如我所提到的,您需要通过终端mysql -u root -p登录MySQL,其中root是MySQL用户,然后输入您的密码,然后使用SQL CREATE DATABASE my_db;创建数据库my_db 1}}是数据库名称,最后只是使用您的数据库和凭据更新.env文件。

答案 1 :(得分:-2)

您需要使用正确的凭据更新.env文件,例如

DB_HOST=localhost 
DB_DATABASE=db_name
DB_USERNAME=db_username
DB_PASSWORD=db_password

正确连接数据库。如果您之前没有创建过数据库,可以通过PHPMyAdmin创建它。