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

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

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

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

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

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

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

решение1

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

Связанный контент