Mysql Laravel Homestead-通过SSH隧道连接到远程数据库

Mysql Laravel Homestead-通过SSH隧道连接到远程数据库,mysql,laravel,ssh,homestead,Mysql,Laravel,Ssh,Homestead,我想使用Laravel Homestead在本地开发,但Laravel应该通过SSH隧道连接到远程DB,而不是Homestead隧道 不知怎的,我不知道怎么做。甚至有可能吗?这不是Laravel的问题,这是操作系统的问题。您可以设置隧道: ssh -L 3307:ec2-172-16-139-19.us-west-1.compute.amazonaws.com:3306 deploy@ec2-174-129-17-196.compute-1.amazonaws.com 在哪里 3307是本地

我想使用Laravel Homestead在本地开发,但Laravel应该通过SSH隧道连接到远程DB,而不是Homestead隧道


不知怎的,我不知道怎么做。甚至有可能吗?

这不是Laravel的问题,这是操作系统的问题。您可以设置隧道:

ssh -L 3307:ec2-172-16-139-19.us-west-1.compute.amazonaws.com:3306 deploy@ec2-174-129-17-196.compute-1.amazonaws.com 
在哪里

3307是本地端口

ec2-172-16-139-19.us-west-1.compute.amazonaws.com是数据库主机

3306是侦听端口

deploy是数据库用户名,并且

ec2-174-129-17-196.compute-1.amazonaws.com是远程主机

然后您只需要配置要连接到的Laravel连接

'mysql' => [
    'host' => 'localhost',
    'port' => 3307,
],

打开您的
config/database.php
并添加查找您的mysql连接。

哇,谢谢!ssh命令运行良好,我可以使用sequel pro和localhost以及3307连接到远程数据库。但是我找不到这些Laravel设置的位置。打开你的
config/database.php
,添加并查找你的mysql连接。这就是问题所在。没有database.php或config文件夹。根据官方文档,我认为我必须把它放在.env文件中,但我也没有找到。也许我太喜欢noob:)“homestead数据库是为MySQL和Postgres现成配置的。为了更方便,Laravel的.env文件将框架配置为使用这个现成的数据库。”你正在创建Laravel应用程序吗?如果是的话,你必须有一个config/database.php文件啊,我正在尝试在laravel homestead上运行Craft CMS。可能这就是为什么没有config/database.php的原因。只需要在craft cms中更改数据库设置:)我真是个白痴。非常感谢!