Я пытаюсь сделать полную резервную копию своей базы данных, используя системную функцию php и команду mysqldump.
<?php
date_default_timezone_set("Africa/Lagos");
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$database = 'db';
$user = 'me';
$pass = 'pass';
$host = 'localhost';
$dir = 'file' . date('Y.m.d_H.m.s') . '.sql.gz';
$tempConfig = tmpfile();
fwrite($tempConfig, "[client]\nhost={$host}\nuser={$user}\npassword={$pass}");
$tempConfigPath = stream_get_meta_data($tempConfig)['uri'];
echo "mysqldump --add-drop-table --defaults-extra-file={$tempConfigPath} $database --routines --triggers | gzip > $dir";
system("mysqldump --defaults-extra-file={$tempConfigPath} $database | gzip > $dir");
exit;
Код работает нормально, но проблема в том, что он пропускает много таблиц.это резервное копирование 10 из 190+ таблиц.последнее резервное копирование вручную - около 190 МБ.Любая помощь или объяснение того, почему она не поддерживает полное БД, будет полезна.Спасибо.