Как мне заархивировать базы данных MySQL?

StackOverflow https://stackoverflow.com/questions/336309

  •  22-07-2019
  •  | 
  •  

Вопрос

У меня есть база данных MySQL, которую я хочу архивировать . Каков наилучший способ сделать это?

Примечание. Я не хочу просто создать резервную копию . Я хочу сделать одноразовый экспорт данных для долгосрочного хранения таким образом, чтобы я мог получить их позже. В частности, я хочу, чтобы меня не привязывали к MySQL, базе данных или, предпочтительно, к какому-либо конкретному программному обеспечению (мне бы очень хотелось, чтобы это было тривиально - написать программу, которая может читать ее обратно, что-то вроде нескольких десятков строк C или perl) .

Мой текущий план состоит в том, чтобы записать материал в таблицу с использованием механизма CSV, а затем записать его на DVD. Это хорошо, потому что CSV может быть загружен многими разными программами. Единственный недостаток в этом заключается в том, что основная часть данных находится в столбцах Blob, как в двоичном формате, поэтому мне нужно будет декодировать, как это кодируется.

Это было полезно?

Решение

Экспорт в CSV, кодирование двоичных данных в кодировке Base64, а затем сжатие с помощью gzip звучит как хороший путь. Я бы посоветовал вам хорошо подумать о выборе DVD. Записываемые носители имеют тенденцию быстро портиться с годами.

Другие советы

Вы можете выгрузить всю БД в файл .sql и использовать VCS для архивирования каждой версии. Если вам нужна старая версия, вы можете экспортировать ее из хранилища и восстановить из нее.

mysql> ALTER TABLE arch2 ENGINE='ARCHIVE';

введите описание изображения здесь

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top