[英]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.