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

Posted

技术标签:

【中文标题】Laravel Homestead - MySQL 默认凭据和数据库【英文标题】:Laravel Homestead- MySQL default credentials and database 【发布时间】:2014-10-19 15:09:36 【问题描述】:

我已设置 Laravel 并尝试运行 artisan migrate 命令,但出现以下错误

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

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

    默认数据库是由 artisan migrate 还是 Homestead 自动创建的? 如果是,它叫什么名字? 如果默认没有创建,是否应该在运行迁移之前创建?

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

谢谢,但是工匠给出了错误。我在我拥有工匠的项目根文件夹中运行了“php artisan migrate”。 [ErrorException] 未定义变量:表 迁移文件有问题,我修复了。我忘了使用 Schema::create 调用。谢谢。 感谢 homestead mysql 凭据! 如果这不起作用,根据 Homestead 上的文档,用户名是 Homestead,密码是秘密的。 laravel.com/docs/5.5/homestead 见标题“连接到数据库”。 非常有帮助。干得好!

以上是关于Laravel Homestead - MySQL 默认凭据和数据库的主要内容,如果未能解决你的问题,请参考以下文章

os Catalina 和 Laravel Homestead MySql 错误:错误 2007 (HY000):协议不匹配;服务器版本 = 11,客户端版本 = 10

iBrand 教程 0.1:Windows + Homestead 5 搭建 Laravel 开发环境

基于 Laravel 开发博客应用系列 —— Homestead 和 Laravel 安装器

Homestead 和 Laravel 基础理解

Laravel:SQLSTATE [28000] [1045] 用户 'homestead'@'localhost' 的访问被拒绝

如何获取 ENV 类型 Laravel + VueJS + Homestead