Резервное копирование одной базы данных с помощью mariabackup?

Я работал над переделкой наших процедур резервного копирования базы данных и изучал mariabackup, поскольку mysqldump больше не сокращает его, учитывая размер наших схем. У нас есть несколько схем, для которых необходимо создать резервную копию - все они различаются по размеру и частоте резервного копирования (для некоторых требуется резервное копирование в течение шестичасового периода, для других можно использовать один день между резервными копиями). Кроме того, наша база данных состоит из двух серверов баз данных, работающих в конфигурации главный-подчиненный.

Для начала, Я выполнил эту команду для одной из наших схем:

mariabackup --backup --user root --password <pass> --databases db1

Это сгенерировало копию файлов данных схемы 'db1' вместе с некоторыми файлами, используемыми самой MariaDB (aria_log, ib_buffer_pool, ib_logfile, ibdata и т. Д.). Это работает отлично - мы можем создавать отдельные резервные копии каждой из наших схем.

Однако восстановление - это отдельная история. После '--prepare' резервного копирования и выполнения команды mariabackup --copy-back он жалуется, что каталог данных должен быть пустым. Если бы я разделил резервные копии, смогу ли я восстановить эти схемы в одной базе данных (или, скорее, в одном экземпляре MariaDB)? Чтобы было еще яснее, если я сделал резервные копии схем 'db1', 'db2' и 'db3', я, похоже, не смогу восстановить их все в одном экземпляре базы данных - есть ли что-то, что я? м не понимаете?

1
задан 1 March 2018 в 01:08
1 ответ

Частичную резервную копию, как и вашу, можно восстановить только с помощью --prepare --export. это генерирует некоторые файлы .cfg, только файлы .ibd. Под «восстановлением» подразумевается «ALTER TABLE .. DISCARD TABLESPACE», «ALTER TABLE IMPORT TABLESPACE» для каждой таблицы в целевой системе. К сожалению, это не на 100% автоматизировано, потому что для отбрасывания табличного пространства в целевой системе вам сначала нужно создать табличное пространство в целевой системе с тем же «CREATE TABLE»

0
ответ дан 4 December 2019 в 04:13

Теги

Похожие вопросы