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;
Як бачимо, у нас є дані коли почався бекап, час коли виконання бекап закінчилося і багато іншого.
Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.