25

我已经设置了 Laravel 并尝试运行artisan migrate命令但是我收到以下错误

[PDOException] SQLSTATE[HY000] [2002] 连接被拒绝。

我不确定如何在 Homestead 中设置 db。所以我得到了以下问题。

  1. 默认数据库是由 artisan migrate 还是 Homestead 自动创建的?
  2. 如果是,它的名字是什么?
  3. 如果它不是默认创建的,我们应该在运行迁移之前创建吗?

我尝试通过使用 ssh 连接到 Homestead VM 然后运行 ​​MySQL 来登录 MySQL db。但是,我收到Access denied for user....用户名 vagrant、Homestead 和 forge 的错误。

默认凭据是什么?我知道创建 MySQL 数据库超出了 Laravel 教程的范围;因此,如果有人能回答这些问题并为我指明正确的方向,那将会很有帮助。

4

1 回答 1

73

Homestead 带有一个名为homestead. 您的应用程序可以选择挂钩到该数据库,或者您必须手动创建一个新数据库。您可以使用 GUI(如 Mac 上的 Sequel Pro)或通过 Vagrant 通过命令行执行它。

// SSH into the box
vagrant ssh

// Connect to MySQL as the homestead user (password is: secret)
mysql -u homestead -p

// Create a new database in MySQL
CREATE DATABASE your_app_name;

// Leave MySQL
exit;

然后,您可以像往常一样迁移数据库,php artisan migrate.

如果您需要使用 Postgres 来执行此操作,则非常相似。

// Connect to Postgres (password is: secret)
psql -U homestead -h localhost

// Create a new database in Postgres
CREATE DATABASE your_app_name;

// Leave Postgres
\q
于 2014-08-26T10:41:53.240 回答