Выбор всей базы данных по отдельной таблице для вывода в файл - PullRequest
0 голосов
/ 11 марта 2011

Хорошо. У меня проблемы с поиском, как выбрать полную базу данных для резервного копирования в виде файла * .sql, а не только как отдельную таблицу.

На локальном хосте у меня есть несколько баз данных, одна из которых называется "foo", иэто то, что я хочу сделать резервную копию, а не какую-либо из отдельных таблиц в базе данных "foo".

Код для подключения к базе данных;

//Database Information
$dbhost = "localhost";
$dbname = "foo";
$dbuser = "bar";
$dbpass = "rulz";

//Connect to database
mysql_connect ($dbhost, $dbuser, $dbpass)
    or die("Could not connect: ".mysql_error());
mysql_select_db($dbname) or die(mysql_error());

Код для резервного копированиябаза данных, один вопрос, который у меня есть с этим, где я могу задать, где * .gz файл сохранен?

$backupFile = $dbname . date("Y-m-d-H-i-s") . '.gz';
$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip
            > $backupFile";
system($command);

Мой мозг болит ближе к концу дня, так что нет сомнений, что я что-то пропустилочень очевидно.

Заранее спасибо всем, кто мне помогает.

1 Ответ

1 голос
/ 11 марта 2011

Вы пропустили mysqldump !Это утилита командной строки, разработанная специально для того, что вы пытаетесь сделать.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...