4.3.1 Создание резервной копии из одного файла
Для того, чтобы избежать большого числа файлов резервных копий, за которыми нужно следить, хранить и переносить, mysqlbackup удобно создаёт резервные копии в формате одного файла. Также он может упаковать существующую папку резервной копии в один файл, распаковать файл обратно в папку резервной копии, перечислить содержимое резервной копии из одного файла, проверить содержимое резервной копии из одного файла с помощью встроенных контрольных сумм или извлечь один файл в дерево каталогов. Синтаксис соответствующих параметров mysqlbackup см. в разделе 16.9 «Параметры резервной копии из одного файла».
Дополнительно: Хотя mysqlbackup также может создать резервную копию каталога (см. описание команды backup для подробностей) вместо резервной копии из одного файла, в большинстве случаев предпочтительнее формат резервной копии из одного файла: резервную копию из одного файла проще обрабатывать и хранить, а некоторые функции mysqlbackup не поддерживаются для резервных копий каталогов — например, резервное копирование в облако и резервное копирование на ленту с помощью API резервного копирования системы на ленту (SBT). На протяжении всего руководства резервное копирование каталога в основном рассматривается как продвинутая тема, и информация и примеры для резервного копирования каталогов помечаются тегом Дополнительно, как в этом абзаце.
Поскольку резервная копия из одного файла может быть передана по потоку или направлена в другой процесс, такой как резервное копирование на ленту или команда, вы можете использовать эту технику, чтобы поместить резервную копию на другое устройство хранения или сервер и избежать значительных затрат на хранение на исходном сервере базы данных.
Для создания резервной копии из одного файла используйте команду backup-to-image. Следующие примеры иллюстрируют, как выполнить резервное копирование из одного файла и другие связанные операции.
Пример 4.1 Резервная копия из одного файла по абсолютному пути
Эта команда создаёт один образ резервной копии по указанному абсолютному пути. Он всё ещё требует --backup-dir, который используется для хранения временных выходных файлов, файлов состояния и метаданных.
mysqlbackup --backup-image=/backups/sales.mbi --backup-dir=/backup-tmp backup-to-image
Пример 4.2 Резервная копия из одного файла по относительному пути
Когда вместо абсолютного пути был указан относительный путь с помощью опции --backup-image, путь рассматривается как относительный к папке резервной копии. Следовательно, в этом примере результирующая резервная копия из одного файла создаётся как /backups/sales.mbi.
mysqlbackup --backup-image=sales.mbi --backup-dir=/backups backup-to-image
Пример 4.3 Резервная копия из одного файла в стандартный вывод
Следующая команда выводит данные резервной копии в стандартный вывод. Опять же, папка, указанная с помощью опции --backup-dir, используется как временная папка.
mysqlbackup --backup-dir=/backups --backup-image=- backup-to-image > /backup/mybackup.mbi
Пример 4.4 Преобразование существующей папки резервной копии в один образ
Папка backup-dir объединяется в файл /backup/my.mbi.
mysqlbackup --backup-image=/backup/my.mbi --backup-dir=/var/mysql/backup backup-dir-to-image
Пример 4.5 Извлечение существующего образа в папку резервной копии
Содержимое образа распаковывается в backup-dir.
mysqlbackup --backup-dir=/var/backup --backup-image=/backup/my.mbi image-to-backup-dir
Пример 4.6 Перечисление содержимого резервной копии из одного файла
Содержимое образа перечисляется, при этом каждая строка указывает запись файла или каталога.
mysqlbackup --backup-image=/backup/my.mbi list-image
Пример 4.7 Проверка резервной копии из одного файла
Следующая команда проверяет, что резервная копия из одного файла не повреждена, усечена или повреждена, проверяя значение контрольной суммы для каждой страницы данных в резервной копии.
mysqlbackup --backup-image=/logs/fullimage.mi validateПример 4.8 Извлечение резервной копии из одного файла в текущий каталог
Следующая команда извлекает всё содержимое из резервной копии из одного файла в текущий рабочий каталог.
mysqlbackup --backup-image=/var/my.mbi extract
Пример 4.9 Извлечение резервной копии из одного файла в папку резервной копии
Эта команда действует как опция image-to-backup-dir, извлекая всё содержимое резервной копии из одного файла в каталог, указанный с помощью опции --backup-dir.
mysqlbackup --backup-image=/var/my.mbi --backup-dir=/var/backup extract
Пример 4.10 Выборочное извлечение одного файла
Следующая команда извлекает единственный файл meta/comments.txt из образа резервной копии my.mbi в локальный путь ./meta/comments.txt.
mysqlbackup --backup-image=/var/my.mbi \
--src-entry=meta/comments.txt extract
Следующая команда извлекает файл meta/comments.txt из образа резервной копии my.mbi в указанный путь /tmp/mycomments.txt с помощью опции --dst-entry.
mysqlbackup --backup-image=/var/my.mbi \
--src-entry=meta/comments.txt \
--dst-entry=/tmp/mycomments.txt extract
Следующая команда выводит содержимое meta/comments.txt (которое находится внутри резервной копии из одного файла my.mbi) в стандартный вывод.
mysqlbackup --backup-image=/var/my.mbi --src-entry=meta/comments.txt --dst-entry=- extract
Пример 4.11 Выборочное извлечение одного каталога
Следующая команда извлекает единственный каталог meta из образа резервной копии my.mbi в локальный путь ./meta. Всё содержимое в каталоге meta извлекается, включая любые подкаталоги.
mysqlbackup --backup-image=/backup/my.mbi --src-entry=meta extract
Следующая команда извлекает всё содержимое каталога meta, включая все его файлы и подкаталоги, в каталог /tmp/my-meta.
mysqlbackup --backup-image=/backup/my.mbi --src-entry=meta \
--dst-entry=/tmp/my-meta extract
Пример 4.12 Работа с абсолютными именами путей
Поскольку абсолютные пути извлекаются в те же пути в локальной системе, это может быть проблемой, если у вас нет разрешения на запись для этого пути. Вы можете переопределить абсолютные пути следующим образом:
mysqlbackup --backup-image=/backup/my.mbi --src-entry=/ --dst-entry=/myroot extract
mysqlbackup --backup-image=/backup/my.mbi --src-entry=. extract
Первая команда извлекает все абсолютные пути в каталог /myroot в локальной системе. Вторая команда извлекает все относительные пути в текущий каталог.
© 2025 Oracle
Licensed under the GPLv2 License.