Автоматическое или регулярное резервное копирование данных MySQL
Я хочу регулярно делать резервные копии некоторых таблиц в моей базе данных mysql, используя <вставьте сюда любимый PHP-фреймворк> / plain php / мой второй любимый язык. Я хочу, чтобы он был автоматизирован, чтобы резервная копия могла быть восстановлена позже в случае, если что-то пойдет не так.
Я попытался выполнить запрос и сохранить результаты в файл. Закончился кодом, который выглядит примерно так.
$sql = 'SELECT * FROM my_table ORDER id DESC';
$result = mysqli_query( $connect, $sql );
if( mysqli_num_rows( $result ) > 0){
$output=fopen('/tmp/dumpfile.csv','w+');
/* loop through recordset and add that to the file */
while( $row = mysqli_fetch_array( $result ) ) {
fputcsv( $output, $row, ',', '"');
}
fclose( $output );
}
Я установил работу cron на своей локальной машине, чтобы попасть на веб-страницу с этим кодом. Я также попытался написать cronjob на сервере и запустить скрипт как CLI. Но это вызывает все виды проблем. Они включают
Иногда данные не согласованыФайл выглядит усеченнымВывод не может быть импортирован в другую базу данныхИногда время ожидания сценарияЯ также слышал оmysqldump
, Я пытался запустить его сexec
но это выдает ошибку.
Как я могу решить это?