【发布时间】:2016-05-14 16:45:38
【问题描述】:
我正在尝试遵循本指南: https://laravel.com/docs/5.2/quickstart
我在 aws 上运行 ubuntu 14.04。我正在使用 laravel 5.2。我是 laravel 的新手(同样也是 aws),我已经完成了指南中的所有操作并得到了这个错误。
当我跑步时:
php 工匠迁移
我收到以下错误:
[PDO异常]
SQLSTATE[28000] [1045] 拒绝用户访问 'homestead'@'localhost'(使用密码: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 网站上的快速入门指南也没有涵盖它。也许我没有准确地遵循它,如果有,请告诉我。
干杯
【问题讨论】:
-
您是否已经在 AWS 上安装了 MySQL?
-
我输入 mysql --version 并得到:mysql Ver 14.14 Distrib 5.5.46, for debian-linux-gnu (x86_64) using readline 6.3
-
什么是 DB_DATABASE、DB_USERNAME、DB_PASSWORD,是否使用这些凭据自动创建数据库?还是我必须手动完成? DB_PASSWORD 是我用来登录 mysql 的密码吗?我使用以下命令登录 mysql:“mysql -u root -p”。这个密码应该和 DB_PASSWORD 一样吗?
-
mysql -u homestead -p 给我同样的错误,我如何给 homestead 登录我的数据库的权限?
-
你能用
myslq -u root -p登录mysql吗?如果您只是运行以下 SQLCREATE DATABASE my_db;其中my_db是您想要命名数据库的方式。
标签: php laravel ubuntu composer-php