Внешний доступ к СУБД на хостинге

mErLin

RA-1103G
Господа злые интернетчики и БДшники, памажите оффлайновому программеру.

Кто из российских хостеров, в стандартном пакете услуг позволяет внешний доступ к портам MySQL ии Postgres. Может, через какой-нибудь SSH или ещё какую задницу. Но обращение к базе должно быть не из локального скрипта на сайте, а клиентской прогой с внешнего компа (тупо, Access-ом через ODBC-драйвер соответствующей СУБД).

Из тех,кем пользуюсь - "Стрим" точно не позволяет. Как насчёт этого у "nic.ru" (У меня там куча висячих доменов - типа, уважаемый клиент. Но битый час звоню им в поддержку, получаю в ответ "а что такое MySQL - сейчас соединю с админстратором". Админ, видимо, повесился на куске кросса) ;)
 
Последнее редактирование:
Реклама
mErLin, если имеется ввиду, чтоб коннектились к базе хостера со всего мира - вряд ли найдётся такой. Вариант только один - взять выделенный сервер (виртуальный или физический) и сделать как тебе нужно.
И да
через какой-нибудь SSH или ещё какую задницу
можешь сделать сам, если у тебя есть ssh-доступ к серверу.
 
Nimdar, не со всего мира. А только с нескольких точек. Один приятель готов это сделать, но у него очень глючный канал и сервер стоит в ненадёжном месте. А клянчить у субпровайдера статический IP-шник для конторского сервака - получается гораздо дороже, нежели хостинг

Кстати, доступ через SSH (одного юзеря) нормальные провайдеры, как правило, дают. Я, поэтому и спросил. Только как подключиться через него к базе? Хотя-бы, в общих чертах?
 
Последнее редактирование:
Для провайдера "весь мир" и "несколько точек" равнозначны, и это правильно.
Хорошо, что разобрался. А то я тут уже накатал было инструкции :)
Только тут есть важный момент - у большинства хостеров сервер базы отдельный и может понадобиться и там извращацца и прокидывать туннель.
 
Nimdar, если уже накатал - давай. Я пока только теоретически разобрался. Поскольку у меня сейчас по рукой ни одного поднятого SSH
 
Может было бы проще АПИ написать на perl или PHP? Хостеры действительно не предоставляют внешний доступ к серверу баз данных, т.к. это есть, увы, хорошо видимая дыра в безопасности!
 
LIV, нет. это не публичный сервис. Просто мне нужно где-то хранить базу со спецификациями, закупочными ценами на комплектуху, логами выполненных работ, журналами отказов и т.п. для выпускаемой продукции. Чисто инсайдерская БД для меня и иногородних партнёров. Доступ к ней должен быть в Accesse и OpenOffice. Публичными у базы должны быть (в перспективе) всего несколько полей - чисто для рекламы на сайте будет отображаться текущее состояние проектов и кое-какие онлайн-данные с работающих по стране вундервафлей. Писать фронтэнды и шлюзы для оперативной работы с базой - просто нет ни сил, не желания. Тем-более, что надо предоставить доступ к этой базе со стороны партнёров ещё вчера (самое крайнее в апреле)
 
Последнее редактирование:
И Access и ОО прекрасно работают с XML... Достаточно сделать скрипт, кот. по крону будет генерить раз в день (или чаще - как надо) файл БД и расшаривать его во-вне... для этого открывать мускуль или постгре не надо...
 
mErLin, если доступ просто на уровне Access файла, то посмотри на dropbox.com - 2Gб бесплатно и можно делить с пользователями.
 
Реклама
если уже накатал - давай. Я пока только теоретически разобрался. Поскольку у меня сейчас по рукой ни одного поднятого SSH
Тебе не нужен поднятый ssh.
Для mysql.
ssh -oForwardAgent=yes -L 3306:localhost:3306 [email protected]
Для postgres.
ssh -oForwardAgent=yes -L 5432:localhost:5432 [email protected]
Для приложения коннект будет на локалхост.
Простыми словами - локальный порт 3306 перенаправляется на порт 3306 на сервере yourhoster.ru
Опять же, это сработает при условии, что база на том же серваке. Если она на другом, то нужно и на удалённом сервере прокидывать туннель.
 
если доступ просто на уровне Access файла
Kwispel, ФТПшников у меня и своих хватает. Файлом неинтересно.

Вчера вышиб из офисного провайдера внешний статический IPшник. Нахаляву. Поставил всё на собственном серваке, открыл порты, проверил, порадовался, пошёл домой. Щаз! Оказалось, что мой домашний провайдер (Корбина) предательски закрыл траффик на порту 3306. Вот нафига, спрашивается. Я-ж на их сервак не покушаюсь. Ущемление свободы слова. Кстати, и SMTPшный траффик с недавних пор тоже закрыли, срамные женщины.
 
Зря катил на Корбину (вернее, теперь Билайн) по поводу закрытия портов
Надо было поковыряться с их файрволом. Помимо него, никакой принудительной блокировки портов у них не осуществляется.
До MySQL-сервера хостера (nic.ru) тоже удалось просверлить туннель (хотя и через задницу). Так-что всё заработало. Уря!
 
mErLin, закрытие провайдером smtp-портов - это уже прямой путь к закону о защите прав потребителей (навязанная услуга)
 
Mechanic, ошибаешься. Даже скажу иначе - заблуждаешься. Закрытие 25-го порта - самозащита провайдера. Кроме того, он таким образом, как бы, гарантирует всему миру, что вся почта исходящая из его сети - легитимна, поскольку исходит из одного, конкретного, разрешённого узла.
Ну и это не услуга, а условие.
 
Опять же, это сработает при условии, что база на том же серваке. Если она на другом, то нужно и на удалённом сервере прокидывать туннель.
так оно и есть. поэтому, задаю: L 3306:<sql-сервер>:3306
ну и пользуюсь на клиентских виндовых машинах, понятно, не ssh, а PuTTY. Но те-же йайцы, вид сбоку

З.Ы. Убил полдня на засаду с автологином. Пользуюсь вместо пароля ключами. Если тупо создавать их PuTTYшным генератором, то формат публичного ключа не совпадает с принятым в ssh (даже при обкусывании в файле всего лишнего). Приходится генерить их на юниксовой стороне, всасывать в генератор PuTTYgen, снова записывать - и только тогда начинает работать
 
Последнее редактирование:
mErLin, на будущее. PuTTYшный генератор коверкает формат ключа при сохранении в файл. Прежде чем сохранять, можно скопировать ключ из окна генератора.

даже при обкусывании в файле всего лишнего
Этого мало. Если ключ RSA, то впереди нужно дописать ssh-rsa.
Если ключ DSA — то ssh-dss.
Ключ должен выглядеть примерно так
RSA:
ssh-rsa AAAAB3NzaC и т.д.
DSA:
ssh-dss AAAAB3NzaC и т.д.
 
Назад