2016-12-27 2 views
0

Я застрял, как подключиться к удаленной базе данных.Laravel Homestead подключается к удаленной базе данных SSH

Я уже пытался запустить

ssh -fNg -L 3307:127.0.0.1:3306 [email protected] 

и мой .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 

Любое другое решение?

ответ

2

В этом случае ваш .env-файл должен иметь настройку DB_HOST=127.0.0.1, поскольку вы туннелируете (локальный) трафик с вашего сервера Homestead на порт 3307 для трафика на удаленный сервер на порту 3306, в частности также на 127.0.0.1.

Другой способ, чтобы написать, что более явно будет:

ssh -fNg -L 127.0.0.1:3307:127.0.0.1:3306 [email protected] 

(Тем не менее, вы можете сохранить текущую команду ssh -fNg -L 3307:127.0.0.1:3306 [email protected], я просто покажу вам, как вы можете написать, что еще один способ, мы надеемся сделать точка более понятна).

Итак, с сайта Homestead, если вы отправляете трафик на 127.0.0.1:3307, он будет туннелирован на удаленный сервер, а затем подключится к нему 127.0.0.1:3306.

+1

работал !. благодаря!. – ssuhat

Смежные вопросы