2017-02-07 11 views
2

Я посмотрел вокруг, и не может найти ответы, которые специально предназначены, что я задаюсь вопросом:На Django, как подключиться к базе данных MySQL на удаленном сервере через SSH?

В терминале Mac, я могу получить доступ к удаленному серверу через SSH:

ssh [my_username]@[server.host.com] 

который запрашивает у меня пароль, и после ввода пароля он выводит меня на удаленный сервер.

После того, как я вошел в удаленный сервер, я могу получить доступ к MySQL:

mysql -u [other_username] -h [mysql.host.com] -p 

, который побуждает меня к другому паролю, а после ввода пароля, я в консоли MySQL и могу показать базы данных расположенный там и т. д. Мы можем назвать базу данных, в которой я заинтересован [база данных].

Мой вопрос: как мне подключить Django, запустить на моем localhost, в [database], чтобы мое приложение использовало эту [базу данных]?

ответ

4

Вы можете создать туннель ssh для сопоставления порта mysql удаленного сервера с локальным портом на вашем компьютере.

ssh -L 3333:127.0.0.1:<remote mysql port> <username>@<remote host> -N 

Когда этот процесс активен, локальный порт 3333 будет подключаться к удаленному порту на удаленном хосте.

+0

Хороший ответ, и это должно сработать. Но я был бы обеспокоен тем, является ли это хорошей идеей, помимо тестирования и непроизводственных целей. – nicorellius

+1

Я бы не использовал это в производстве. В производстве я бы установил соответствующие сетевые маршруты, брандмауэр и т. Д., Чтобы сервер приложений мог напрямую подключаться к серверу базы данных. – turbotux

+0

Любите ответ. Интересно, почему я не думал об этом. –