Laravel Homestead- MySQL默认凭据和数据库

use*_*375 16 laravel

我已经设置了Laravel并尝试运行artisan migrate命令但是我收到错误[PDOException] SQLSTATE [HY000] [2002] Connection拒绝了.我不确定如何在Homestead中设置数据库.所以我得到了以下问题.是否由artisan migrate或Homestead自动创建默认数据库?如果是的话,名字是什么?如果它不是默认创建的,我们应该在运行迁移之前创建吗?我通过使用ssh连接到Homestead VM然后运行MySQL来尝试登录到MySQL数据库.但是我收到用户名vagrant,Homestead和forge的错误"访问被拒绝用户....".什么是默认凭据?我知道创建MySQL数据库超出了Laravel教程的范围; 因此,如果有人能够回答这些问题并指出我正确的方向,将会有所帮助.谢谢.

Dwi*_*ght 60

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;
Run Code Online (Sandbox Code Playgroud)

然后,您可以照常迁移数据库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
Run Code Online (Sandbox Code Playgroud)

  • 如果这不起作用,根据 Homestead 上的文档,用户名是 Homestead,密码是 secret。https://laravel.com/docs/5.5/homestead 请参阅标题“连接到数据库”。 (3认同)