Laravel错误与php工匠迁移



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

我在 aws 上运行 ubuntu 14.04。我正在使用 laravel 5.2。我是 laravel 的新手(以及 aws(,我已经完成了指南中的所有操作并收到此错误。

当我运行时:

PHP 工匠迁移

我收到以下错误:

[PDOException]

SQLSTATE[28000] [1045] 拒绝用户访问 '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=homestead 中指定的数据库同名的数据库。我可能应该从宅基地更改它,因为我没有使用宅基地:/

DB_USERNAME是我们用于登录mysql的相同用户名,因此

DB_USERNAME = root

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

这可能看起来很明显,但我是新手,不知道。Laravel网站上的快速入门指南中也没有介绍它。也许我没有准确地遵循它,如果是这样,请告诉我。

干杯

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

我知道

您使用的是 linux 机器,但我添加它主要是为了在本地机器上工作的 Windows 用户,他们将来可能会处理同样的问题。(就像我过去一样(。

我个人的经验是,如果您可以帮助自己,请始终创建一个具有必要权限的新用户,而不是设置DB_USERNAME根用户。

在 phpMyAdmin 用户界面上数据库页面上的权限下,您将获得具有全局和数据库特定访问权限的所有用户的列表。用户sage-admin对我的数据库拥有所有权限,如图所示:在 mysql 注册的所有用户的列表

在 laravel 的 .env 文件中,您添加此用户的属性和目标数据库,它就可以工作了!

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

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

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

相关内容

  • 没有找到相关文章

最新更新