Форум сайта python.su
0
Всем привет.
Есть mysql БД, что бы к ней подключиться нужно зайти по ssh на сервер и уже на нем подключиться к mysql.
Все работает если запускать скрипт на сервере, но мне нужно что бы я с локальной машины мог подключиться к БД.
Можно ли как то подключиться из скрипта по ssh, а после к БД ?
Есть модуль paramiko, но я не совсем понял как он работает.
Офлайн
72
Если мускул слушает на локальном tcp порту, то просто прокинте его через ssh-туннель на локальную машину.
ssh -fNL <LOCAL_PORT>:localhost:3306 <REMOTE_USER>@<REMOTE_HOST>
значения в <> поменяйте на свои.
Офлайн
0
Из скрипта это можно как то сделать, через какие модули?
Офлайн
72
Можно через os.command или subprocess выполнить. Можно ваш скрипт обернуть еще одним на баше. Можно через paramiko сделать но я сам не пробовал, я вообще стараюсь использовать самый простой возможный вариант. Вот еще народ сахарку добавил.
Офлайн
61
Я все же рекомендую получить нормальный доступ к БД.
Иначе вылезет оно боком потом и при чем конкретным.
Офлайн
72
ZerGЧем проброс порта в тунеле ненормален и чем оно может вылезти? Стандартная практика, уж всяко лучше чем порт БД наружу светить.
Я все же рекомендую получить нормальный доступ к БД.
Иначе вылезет оно боком потом и при чем конкретным.
Офлайн
568
Как-то всё это противоестественно, может лучше vpn поднять и работать без костылей?
Офлайн
61
Использование БД через тунель по SSH допустимо только в разрезе разработки проекта.. и то.. я бы не стал.
Офлайн
72
Во-первых, сдается мне топикстартеру не нужно постоянное соединение с базой, просто периодически выполняемая задача. А во-вторых просветите уже меня, что не так с тоннелем, а то так и умру темным.
Офлайн
61
Что бы не умереть темным надо полоскать горло светлым…
В разрезе юзания тунеля ссш для девелопа - ради бога.
На продакшине - такое могу делать тока ПХП коидеры.
Офлайн