PHP скрипт для резервного копирования базы данных

0

Я попытался создать резервную копию моих баз данных MySQL с помощью PHP, но когда я устанавливаю путь для резервной копии, я получаю другой путь при запуске script.

это мой script:

$baseDir = 'backup/';
$db;
$table;
$server = $_SERVER['HTTP_HOST'] . substr($_SERVER['SCRIPT_NAME'],0,strrpos($_SERVER['SCRIPT_NAME'],'/'));

это внутри функции резервного копирования:

global $baseDir;
global $db;
global $server;
$backupFile = $server . "/$baseDir$db/$tab.sql";
$query = mysql_query("SELECT * INTO OUTFILE '$backupFile' FROM $tab");
if(!$query)
    echo "\t" .mysql_error() .PHP_EOL;
else
    echo " backuped." . PHP_EOL;

путь, который я получаю: c:\wamp\bin\mysql\mysql5.1.36\data\localhost\db\backup\contact_keeper\accounts.sql с erroCode: 2 (can`t write/create).

Теги:
database-backups

1 ответ

2

SELECT ... INTO OUTFILE ограничивается только СОЗДАНИЕМ нового файла. Он не может перезаписывать существующий файл в качестве меры безопасности. Кроме того, убедитесь, что учетная запись, в которой работает MySQL в Windows, имеет права на запись в этом каталоге ...\backup\contact_keeper. Он может иметь только чтение/выполнение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню