Столкнулся с задачей, когда доступ к файлам проекта открыт только по 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