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

    mErLin

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

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

    Из тех,кем пользуюсь - "Стрим" точно не позволяет. Как насчёт этого у "nic.ru" (У меня там куча висячих доменов - типа, уважаемый клиент. Но битый час звоню им в поддержку, получаю в ответ "а что такое MySQL - сейчас соединю с админстратором". Админ, видимо, повесился на куске кросса) ;)
     
    Последнее редактирование:

    Nimdar

    Давно здесь
    mErLin, если имеется ввиду, чтоб коннектились к базе хостера со всего мира - вряд ли найдётся такой. Вариант только один - взять выделенный сервер (виртуальный или физический) и сделать как тебе нужно.
    И да
    через какой-нибудь SSH или ещё какую задницу
    можешь сделать сам, если у тебя есть ssh-доступ к серверу.
     

    mErLin

    RA-1103G
    Nimdar, не со всего мира. А только с нескольких точек. Один приятель готов это сделать, но у него очень глючный канал и сервер стоит в ненадёжном месте. А клянчить у субпровайдера статический IP-шник для конторского сервака - получается гораздо дороже, нежели хостинг

    Кстати, доступ через SSH (одного юзеря) нормальные провайдеры, как правило, дают. Я, поэтому и спросил. Только как подключиться через него к базе? Хотя-бы, в общих чертах?
     
    Последнее редактирование:

    Nimdar

    Давно здесь
    Для провайдера "весь мир" и "несколько точек" равнозначны, и это правильно.
    Хорошо, что разобрался. А то я тут уже накатал было инструкции :)
    Только тут есть важный момент - у большинства хостеров сервер базы отдельный и может понадобиться и там извращацца и прокидывать туннель.
     

    mErLin

    RA-1103G
    Nimdar, если уже накатал - давай. Я пока только теоретически разобрался. Поскольку у меня сейчас по рукой ни одного поднятого SSH
     

    LIV

    Местный
    Может было бы проще АПИ написать на perl или PHP? Хостеры действительно не предоставляют внешний доступ к серверу баз данных, т.к. это есть, увы, хорошо видимая дыра в безопасности!
     

    mErLin

    RA-1103G
    LIV, нет. это не публичный сервис. Просто мне нужно где-то хранить базу со спецификациями, закупочными ценами на комплектуху, логами выполненных работ, журналами отказов и т.п. для выпускаемой продукции. Чисто инсайдерская БД для меня и иногородних партнёров. Доступ к ней должен быть в Accesse и OpenOffice. Публичными у базы должны быть (в перспективе) всего несколько полей - чисто для рекламы на сайте будет отображаться текущее состояние проектов и кое-какие онлайн-данные с работающих по стране вундервафлей. Писать фронтэнды и шлюзы для оперативной работы с базой - просто нет ни сил, не желания. Тем-более, что надо предоставить доступ к этой базе со стороны партнёров ещё вчера (самое крайнее в апреле)
     
    Последнее редактирование:

    LIV

    Местный
    И Access и ОО прекрасно работают с XML... Достаточно сделать скрипт, кот. по крону будет генерить раз в день (или чаще - как надо) файл БД и расшаривать его во-вне... для этого открывать мускуль или постгре не надо...
     

    Kwispel

    Летучий галландец
    mErLin, если доступ просто на уровне Access файла, то посмотри на dropbox.com - 2Gб бесплатно и можно делить с пользователями.
     

    Nimdar

    Давно здесь
    если уже накатал - давай. Я пока только теоретически разобрался. Поскольку у меня сейчас по рукой ни одного поднятого SSH
    Тебе не нужен поднятый ssh.
    Для mysql.
    ssh -oForwardAgent=yes -L 3306:localhost:3306 user@yourhoster.ru
    Для postgres.
    ssh -oForwardAgent=yes -L 5432:localhost:5432 user@yourhoster.ru
    Для приложения коннект будет на локалхост.
    Простыми словами - локальный порт 3306 перенаправляется на порт 3306 на сервере yourhoster.ru
    Опять же, это сработает при условии, что база на том же серваке. Если она на другом, то нужно и на удалённом сервере прокидывать туннель.
     

    mErLin

    RA-1103G
    если доступ просто на уровне Access файла
    Kwispel, ФТПшников у меня и своих хватает. Файлом неинтересно.

    Вчера вышиб из офисного провайдера внешний статический IPшник. Нахаляву. Поставил всё на собственном серваке, открыл порты, проверил, порадовался, пошёл домой. Щаз! Оказалось, что мой домашний провайдер (Корбина) предательски закрыл траффик на порту 3306. Вот нафига, спрашивается. Я-ж на их сервак не покушаюсь. Ущемление свободы слова. Кстати, и SMTPшный траффик с недавних пор тоже закрыли, срамные женщины.
     

    mErLin

    RA-1103G
    Зря катил на Корбину (вернее, теперь Билайн) по поводу закрытия портов
    Надо было поковыряться с их файрволом. Помимо него, никакой принудительной блокировки портов у них не осуществляется.
    До MySQL-сервера хостера (nic.ru) тоже удалось просверлить туннель (хотя и через задницу). Так-что всё заработало. Уря!
     

    Mechanic

    Press F1 for help
    mErLin, закрытие провайдером smtp-портов - это уже прямой путь к закону о защите прав потребителей (навязанная услуга)
     

    Nimdar

    Давно здесь
    Mechanic, ошибаешься. Даже скажу иначе - заблуждаешься. Закрытие 25-го порта - самозащита провайдера. Кроме того, он таким образом, как бы, гарантирует всему миру, что вся почта исходящая из его сети - легитимна, поскольку исходит из одного, конкретного, разрешённого узла.
    Ну и это не услуга, а условие.
     

    mErLin

    RA-1103G
    Опять же, это сработает при условии, что база на том же серваке. Если она на другом, то нужно и на удалённом сервере прокидывать туннель.
    так оно и есть. поэтому, задаю: L 3306:<sql-сервер>:3306
    ну и пользуюсь на клиентских виндовых машинах, понятно, не ssh, а PuTTY. Но те-же йайцы, вид сбоку

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

    Nimdar

    Давно здесь
    mErLin, на будущее. PuTTYшный генератор коверкает формат ключа при сохранении в файл. Прежде чем сохранять, можно скопировать ключ из окна генератора.

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