Skip to main content
 首页 » 编程设计

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

2024年09月07日20Terrylee

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

[PDOException] SQLSTATE[HY000] [2002] Connection refused.


我不确定 Homestead 中的 db 是如何设置的。所以我得到了以下问题。
  • 默认数据库是由 artisan migrate 还是 Homestead 自动创建的?
  • 如果是,它的名字是什么?
  • 如果它不是默认创建的,我们应该在运行迁移之前创建吗?

  • 我尝试通过使用 ssh 连接到 Homestead VM 然后运行 ​​MySQL 来登录 MySQL 数据库。但是我收到错误 Access denied for user....对于用户名 vagrant、Homestead 和 forge。
    什么是默认凭据?
    我知道创建 MySQL db 超出了 Laravel 教程的范围;因此,如果有人能回答这些问题并为我指明正确的方向,那将会很有帮助。

    请您参考如下方法:

    Homestead 带有一个名为 homestead 的默认数据库。 .您的应用程序可以选择 Hook 到该数据库,或者您必须手动创建一个新数据库。您可以使用 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