Сборка базы данных с помощью файла .sql с использованием PHP - PullRequest
0 голосов
/ 14 декабря 2010

Хорошо, я искал все выше и ниже и не смог найти ответ, который подходит для того, что я пытаюсь сделать.У меня есть две базы данных, мы будем называть их DB1 и DB2.У меня есть задание cron, которое выполняется каждую ночь в 4 часа утра, которое создает резервную копию DB1 и сохраняет свои данные в архиве файлов SQL, мы назовем этот файл db_backup.sql.Файл хранится в папке на сервере, мы назовем его ROOT / backups / db_backup.sql.

Информация

database names: DB1 and DB2
backup filename: db_backup.sql
backup file path: ROOT/backups/db_backup.sql

Чтоя пытаюсь сделать:

Я хочу использовать файл db_backup.sql для сборки DB2.Я в основном пытаюсь настроить репликацию базы данных, где я копирую DB1 в DB2.Не знаю другого способа сделать это на серверах общего хостинга, кроме того, что я пытаюсь объяснить.Я пытаюсь использовать php для импорта файла db_backup.sql в DB2.

Моя среда:

Веб-сайт и базы данных находятся на общем хостинге с godaddy (да, я хотел бы получить выделенные серверы для настройки реальной репликации, но пока не могу себе этого позволить).Базы данных mysql в phpmyadmin.

Возможно ли это?Любая помощь будет принята с благодарностью!Дайте мне знать, если у вас есть вопросы.

Ответы [ 3 ]

3 голосов
/ 14 декабря 2010

Я не уверен, что понимаю вашу проблему. Вам необходимо скопировать файл db_backup на второй хост, где у вас есть доступ к базе данных, и загрузить файл sql.

Из скорлупы:

mysql -hhost -uusername -ppassword databasename < db_backup.sql

Это восстановит таблицы на втором компьютере.

0 голосов
/ 14 декабря 2010

Не можете ли вы вообще избежать PHP и напрямую подключиться к базе данных, чтобы выполнить резервное копирование либо через командную строку, либо с помощью языка сценариев, более подходящего для длительных процессов?

0 голосов
/ 14 декабря 2010

Должно быть так же просто, как настроить задание CRON на сервере 2 для вызова сценария на сервере 1, который извлекает файл SQL, тогда этот сценарий задания cron импортирует / восстанавливает БД.

MakeОбязательно требуйте хеш (через get или post) перед выдачей БД SQL на сервере 1, иначе любой может прочитать его / получить дамп вашей базы данных.

...