You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用artisan serve无法连接Homestead MySQL的问题求助

解决Artisan Serve连接Homestead数据库被拒绝的问题

这个坑我之前踩过!核心原因是Homestead的MySQL默认只对虚拟机内部开放访问权限,而你用artisan serve是在本地主机(宿主机)上运行的,直接写localhost或127.0.0.1根本找不到虚拟机里的数据库。下面一步步来搞定:

1. 让Homestead的MySQL允许外部访问

先SSH进入Homestead虚拟机:

homestead ssh

然后编辑MySQL配置文件(Ubuntu系统路径通常是这个,其他版本可能略有差异):

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到bind-address这一行,把默认的127.0.0.1改成0.0.0.0(允许所有IP访问),或者直接改成你Homestead虚拟机的私有IP(比如常见的192.168.10.10,这个在你的Homestead.yaml配置文件里能找到)。

改完保存退出,重启MySQL服务生效:

sudo systemctl restart mysql

2. 给MySQL用户添加宿主机访问权限

默认的homestead用户可能只有虚拟机内部的访问权限,需要授权允许宿主机连接。在Homestead的MySQL控制台执行:

GRANT ALL PRIVILEGES ON 你的数据库名.* TO 'homestead'@'你的宿主机IP';
FLUSH PRIVILEGES;

如果是本地开发图省事(不建议生产环境这么做),也可以允许所有IP访问:

GRANT ALL PRIVILEGES ON 你的数据库名.* TO 'homestead'@'%';
FLUSH PRIVILEGES;

3. 更新.env配置文件

把.env里的DB_HOST从localhost改成Homestead的私有IP(比如192.168.10.10),其他配置保持不变:

DB_CONNECTION=mysql
DB_HOST=192.168.10.10
DB_PORT=3306
DB_DATABASE=你的数据库名
DB_USERNAME=homestead
DB_PASSWORD=secret

4. 清除Laravel配置缓存

Laravel会缓存.env的配置,必须执行这个命令让新配置生效:

php artisan config:clear

做完这些步骤,再启动php artisan serve,应该就能正常连接Homestead的数据库了!

内容的提问来源于stack exchange,提问作者Krystus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:00:01