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

Столкнулся с задачей, когда доступ к файлам проекта открыт только по ftp, при этом база данных находиться на другом сервере и доступ к ней ограничен. Возник вопрос: возможно ли получить дамп базы имея доступ по ftp?

Ответ очень прост: “Всё возможно верующему” ( Евангелие от Марка 9:14-29)

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

Шаг 1. Загружаем и устанавливаем последнюю версию программы EMS SQL Manager (http://www.sqlmanager.net/
Шаг 2. В папке установленной программы (обычно c:Program FilesEMSSQL 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

Автор: Sergiy Kamolov