Как мне заархивировать базы данных MySQL? - PullRequest
1 голос
/ 03 декабря 2008

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

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

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

Ответы [ 3 ]

2 голосов
/ 03 декабря 2008

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

2 голосов
/ 03 декабря 2008

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

0 голосов
/ 12 ноября 2014
mysql> ALTER TABLE arch2 ENGINE='ARCHIVE';

enter image description here

...