Spec-Zone.ru › MariaDB

Восстановление отдельных таблиц и разделов с помощью Mariabackup

При использовании Mariabackup вам не обязательно восстанавливать каждую таблицу и/или раздел, которые были резервными копиями. Даже если вы начинаете с полной резервной копии, вполне возможно восстановить только определенные таблицы и/или разделы из резервной копии, при условии, что таблица или раздел находятся в InnoDB файловом пространстве таблиц на уровне таблицы. На этой странице описано, как восстановить отдельные таблицы и разделы.

Подготовка резервной копии

Прежде чем вы сможете восстановить резервную копию, вам сначала нужно подготовить её, чтобы сделать файлы данных согласованными. Вы можете сделать это с помощью опции команды --prepare.

Возможность восстановления отдельных таблиц и разделов зависит от транспортабельных табличных пространств InnoDB. Для того, чтобы MariaDB импортировала такие табличные пространства, InnoDB ищет файл с расширением .cfg. Для создания этих файлов Mariabackup также необходимо добавить опцию --export во время этапа подготовки.

Например, вы можете выполнить следующую команду:

$ mariabackup --prepare --export \
   --target-dir=/var/mariadb/backup/ \
   --user=mariabackup --password=mypassword

Если эта операция завершится без ошибок, резервная копия готова к восстановлению.

MariaDB до 10.2.8

До MariaDB 10.2.9, Mariabackup не поддерживала опцию --export. Об этом см. MDEV-13466. В более ранних версиях MariaDB это означало, что Mariabackup не могла создать файлы .cfg для InnoDB файловых пространств таблиц на уровне таблицы на этапе --prepare. Вы по-прежнему можете импортировать табличные пространства на уровне таблиц без файлов .cfg во многих случаях, поэтому в этих версиях всё ещё возможно восстановить частичные резервные копии или восстановить отдельные таблицы и разделы только с помощью файлов .ibd. Если у вас есть полная резервная копия и вам нужно создать файлы .cfg для InnoDB файловых пространств таблиц на уровне таблицы, вы можете сделать это, подготовив резервную копию как обычно, без опции --export, а затем восстановив резервную копию и запустив сервер. В этот момент вы можете использовать встроенные возможности сервера для копирования транспортабельных табличных пространств.

Восстановление резервной копии

Процесс восстановления отдельных таблиц и/или разделов отличается от процесса восстановления полных резервных копий.

Вместо использования --copy-back или --move-back, каждый отдельный файл InnoDB файлового пространства таблиц на уровне таблицы должен быть вручную импортирован на целевой сервер. Процесс восстановления резервной копии будет зависеть от того, участвует ли в этом разделение.

Восстановление отдельных неразделенных таблиц

Чтобы восстановить отдельные неразделенные таблицы из резервной копии, найдите файлы .ibd и .cfg для таблицы в резервной копии, а затем импортируйте их, используя процесс Импорта транспортабельных табличных пространств для неразделенных таблиц.

Восстановление отдельных разделов и разделённых таблиц

Чтобы восстановить отдельные разделы или разделённые таблицы из резервной копии, найдите файлы .ibd и .cfg для раздела(ов) в резервной копии, а затем импортируйте их, используя процесс Импорта транспортабельных табличных пространств для разделённых таблиц.

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают позицию MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/restoring-individual-tables-and-partitions-with-mariabackup/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API