Vadiok
8/1/2016 - 5:31 AM

Создание дампа БД и выполнение дампа из файла через консоль.

Создание дампа БД и выполнение дампа из файла через консоль.

Исходные данные

  • пользователь homestead
  • пароль secret
  • база данных work_db_name
  • файл дампа dump.sql

Восстановление базы из дампа

Выполнение дампа для параметров, указанных выше:

mysql -u homestead -psecret work_db_name < dump.sql

Если команда выполняется на рабочем сервере, чтобы не сохранять пароль в истории команд, просто вводится ключ -p, вместо -psecret, указанного в команде выше. В качестве альтернативы можно поставить пробел перед командой, тогда в истории команд данная команда не сохранится.

Создание дампа

Создание дампа в .gz архиве

mysqldump -u homestead -psecret work_db_name | gzip -9 > dump.sql.gz
<?php

$user = 'homestead';
$password = 'secret';
$db = 'homestead';

$file = 'dump.sql.gz';


$command = sprintf(
	'mysqldump -u %s -p\'%s\' %s | gzip -9 > dump.sql.gz',
	$user,
	$password,
	$db,
	$file
);

if (!empty($_GET['delete_dump'])) {
	unlink(dirname(__FILE__) . '/' . $file);
	echo 'Файл дампа удален';
	exit();
}


exec($command);

echo sprintf('<a href="%s" target="_blank">Скачать</a><br />', $file);
echo sprintf('<a href="%s?delete_dump=1">Удалить дамп</a><br />', basename(__FILE__));