16 сентября 2010 г.

Как скачать дамп базы данных имея доступ по ftp?

Столкнулся с задачей, когда доступ к файлам проекта открыт только по ftp, при этом база данных находиться на другом сервере и доступ к ней ограничен. Возник вопрос: возможно ли получить дамп базы имея доступ по ftp?
Ответ очень прост: “Всё возможно верующему” (Евангелие от Марка 9:14-29)


Итак, что нам нужно будет сделать:


Шаг 1. Загружаем и устанавливаем последнюю версию программы EMS SQL Manager (http://www.sqlmanager.net/)


Шаг 2. В папке установленной программы (обычно c:\Program Files\EMS\SQL Manager for MySQL\) находим скрипт emsproxy.php и копируем его на наш хост по ftp. Единственное условие - чтобы была возможность прямого обращения к скрипту через УРЛ (напр.: http://www.myhost.com/emsproxy.php).

Шаг 4. Запускаем EMS SQL Manager и регистрируем новый хост ():
Указываем где установлена БД (ip-адрес или localhost - если доступно на том же сервере), а также логин и пароль для доступа к базе данных.
Соглашаемся использовать туннелирование (ставим галочку Use tunneling) и выбираем HTTP протокол для этого дела (HTTP tunneling). Далее...
Указываем URL к скрипту.
Далее...
Выбираем нужную нам базу данных.
Далее... переходим к следующему окну и заканчиваем (Finish).

Шаг 5. Делаем экспорт данных нашей базы.
Здесь все очень просто. В главном меню выбираем Tools > Extract Database, выбираем нужную базу и сохраняем в файл (не забыв при этом поставить галочку в поле Extract all metadata and data of the database).

С задачей справились - дамп получен. Помимо дампа, теперь имеем возможность управлять удаленной базой данных, что весьма и весьма полезно :)

P.S. Если на удаленном сервере используется СУБД Postgres можно аналогичным способом добыть доступ к БД используя программу SQL Manager for Postgres

11 комментариев:

  1. если есть доступ по http, то удобнее всего поставить PhpMyAdmin

    ОтветитьУдалить
  2. Ты наверное знал что мне тоже перепадет этот проект :))) Получилось что ты специально для меня доку писал к подключению БД :)))

    спасибо, +1

    ОтветитьУдалить
  3. Никогда не знаешь, куда заведут тебя пути веб-разработчка :)

    ОтветитьУдалить
  4. Анонимный23 июня 2012 г., 15:01

    как я понял в форме регистрации БД указываем данные для доступа к БД,
    а где же данные для доступа к фтп?

    ОтветитьУдалить
  5. Здравствуйте. С праздниками!
    Можно спросить у Вас совет? Ззаранее извините, если обратилась не по адресу, просто заметила, что вы разбираетесь в этом, а я не знаю к кому ещё можно обратиться.
    У меня блог на blogspot, также как и у Вас. Понравился один скрипт. Но для его установки нужно проделать следующее:
    Загрузите папку "papka1" на ваш сайт по FTP или через панель управления хостингом укажите путь до этой папки.

    Вы не могли бы рассказать последовательность как это сделать в блоггере? Желательно в версии для блондинки или как маленького ребёнка :)
    Буду благодарна за помощь.

    ОтветитьУдалить
  6. Забыла подписаться на комментарии :)

    ОтветитьУдалить
  7. Здравствуйте! Насколько я знаю, в блоггере нет возможности загрузки файлов/папок ни по FTP ни через панель управление, все что вы можете делать, это загружать фотки, создавать посты, и менять дизайн своего блога...

    ОтветитьУдалить
    Ответы
    1. Сергей, спасибо за ответ. Теперь понятно почему нигде не смогла найти ответ на этот вопрос.
      Жалко конечно, скрипт понравился.

      Удалить
  8. Здравствуйте! Пишет "Ошибка: Failed: http: Access denied; you need the FILE privilege for this operation", чего делать-то?? БД видит и тд, скачать не дает(((((((

    ОтветитьУдалить
  9. разобралась. нужно было www поставить перед УРЛом. Дамп скачивается. Спасибо)

    ОтветитьУдалить