Mariabackup резервное копирование - Хранить историю в базе данных
Коллеги всем привет.
В сегодняшней статье мы поговорим о том как можно сохранить результат выполнения резервного копирования Mariabackup в MariaDB. Выполнения бекапа это хорошо, но мы не всегда сможем узнать в какой момент у нас могут начаться проблемы с выполнением резервной копии так как резервная копия будет выполниться автоматически. Сохранения результата выполнения очень полезно, мы потом можем эти результаты отображать в какой-нибудь системе мониторинга, к примеру Grafana.
Связанные статьи:
- Mariabackup Установка на Centos 8
- Mariabackup резервное копирование - учетная запись
- Mariabackup резервное копирования и восстановления
После того как резервная копия выполнилась то в той же директории с резервной копией создается файл под названием xtrabackup_info и в него записывается результат выполнения.
Но нам это не очень подходит, я хочу хранить эти результаты в самой базе данных MariaDB в отдельной схеме.
Чтобы у нас была возможность сохранять результаты выполнения резервного копирования базы данных MariaDB с помощью Mariabackup, то нам нужно нашему пользователю которого мы создали в прошлых статьях добавить необходимые права.
Первое право это добавить возможность создать новую схему в базе данных под названием PERCONA_SCHEMA. В этой схеме Mariabackup создаст таблицу в которой будет хранить все результаты выполнения резервного копирования.
mariadb> GRANT CREATE ON PERCONA_SCHEMA.* TO 'mariabackup'@'localhost';
Второе право это добавить возможность записывать данные в эту схему пользователю mariabackup.
mariadb> GRANT INSERT ON PERCONA_SCHEMA.* TO 'mariabackup'@'localhost';
Теперь можно пробовать выполнить резервную копию базы данных MariaDB. Мы должны запустить программу mariabackup с параметрами по авторизации и месту хранения самых резервных копий, но самое главной не забыть указать параметр --history который как раз и отвечает за то, чтобы сохранять результат выполнения резервной копии в базе данных PERCONA_SCHEMA в таблице xtrabackup_history.
$. mariabackup --backup --history=backup_all --target-dir=/app/mariabackup/19.07.2022/full --user=mariabackup --password='Qwerty123' --socket=/app/mysql/data/socket.sock
В параметре --history значения можно указывать любое, и оно не на что не влияет. Я к примеру указал что у меня это будет полный бекап.
После выполнения бекапа программа mariabackup создаст схему PERCONA_SCHEMA и в ней пустую таблицу xtrabackup_history.
Теперь мы можем посмотреть какой же получился результат, для этого нам нужно выполнить запрос до базы данных PERCONA_SCHEMA:
mariadb> SELECT * FROM PERCONA_SCHEMA.xtrabackup_history;
Как видим у нас есть данные когда начался бекап, время когда выполнения бекап закончилось и много другое.
Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.