簡體   English   中英

Laravel Homestead連接到遠程數據庫SSH

[英]Laravel Homestead connect to remote database SSH

我被困在如何連接到遠程數據庫上。

我已經試過了

ssh -fNg -L 3307:127.0.0.1:3306 forge@128.xxx.xxx.xxx

和我的.env

 DB_CONNECTION=mysql
 DB_HOST=128.xxx.xxx.xxx
 DB_PORT=3307
 DB_DATABASE=projectdb
 DB_USERNAME=forge
 DB_PASSWORD=password;

我可以使用HeidiSql連接遠程數據庫。 但是當我嘗試使用laravel項目進行連接時,它總是讓我返回

 SQLSTATE[HY000] [2002] Connection timed out

還有其他解決方案嗎?

在那種情況下,您的.env文件應該設置為DB_HOST=127.0.0.1因為您正在隧道(從本地)通過端口3307上的Homestead服務器向通過端口3306上的遠程服務器(尤其是在127.0.0.1上)的通信建立隧道。

另一種更明確地寫的方式是:

ssh -fNg -L 127.0.0.1:3307:127.0.0.1:3306 forge@128.xxx.xxx.xxx

(但是,您可以保留ssh -fNg -L 3307:127.0.0.1:3306 forge@128.xxx.xxx.xxx的當前命令,我只是向您展示如何編寫另一種方法來希望闡明這一點更清晰)。

因此,從Homestead,如果將流量發送到127.0.0.1:3307 ,它將通過隧道進入遠程服務器,然后連接到其中的127.0.0.1:3306

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM