Восстановление данных MySQL

Самое важное для владельца сайта — это то, что есть на сайте, тоесть его содержимое. Чтобы небыло беды, например в случае «падения» сервера, нужно сохранять содержимое сайта, а потом, в случае необходимости восстанавливать данные. Есть два способа сохранения данных:
  1. Сделать дамп через shell (ssh (для Windows — клиент Putty));
  2. Сгененировать CSV-файл с помощью PHP;
  3. Сделать дамп *.sql через phpMyAdmin или Sypex Dumper.

Не будем заострять внимание на всех способах сохранения данных, а остановимся лишь на восстановлении данных из CSV-файлов. Итак, чтобы что-то восстанавливать, нужно чтобы было что восстанавливать.

Для этого необходимо сделать дамп: Для использования такого запроса необходимы привилегии FILE. Файл, в который вы делаете дамп создается на сервере и до этого не должен существовать. Это важный момент! Данная особенность записи в файл предотвращаетизменение уже существующих файлов, в том числе таких важных как “/etc/passwd”.

В описаном примере поля из таблицы выгружаются в файл, поля разделяются запятыми.Если поля имеют текстовый формат, их значения заключаются в апострофы, а каждая строказавершается символом \n, тобишь символом перевода каретки на ковую строку. Итак, дамп у нас есть. Допустим, что-то произошло с базой и теперь необходимо восстановить утеряные данные. Приступим: Ну вот и всё! Таблица снова заполнена данными. Разумеется это лишь ядро скрипта для дампа. Как его использовать — ваше личное дело и ваша фантазия. Можно, например, получить список таблиц, в цикле обойти их сделав дамп. Затем, опять же в цикле, пройтись по уже созданым файлам, создавая единый файл с дампом, и удаляя индивидуальные. Неплохо было бы дописать в еджиный файл также структуру самих таблиц.

Возможно, вы найдёте и более разумный способ. Может быть вы даже найдёте другой способ сделать дамп. На данный момент мне кажется это достойный способ получить дамп с помощью PHP, если нет доступа к shell.

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.