Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > MySQL & MariaDB

Как восстановить одну таблицу Aria в другую базу после бекапа mariabackup

26.01.2020 18:43


16.01.2020 12:57
OlegON
 
Угробил себе тут кривыми руками табличку, таблица нетранзакционная, потому никакого rollback не сделать после update без условий... Как быть?
Сложность была в том, что надо было сделать откат с условием появившихся новых записей с утра. Т.е. восстановить либо в другую таблицу, либо в другую базу.

Сначала я просто создал новую базу и закинул туда .MAD .MAI и .frm от своей таблички billing, не забыл даже права дать соответствующие на эти файлы.
И тут я понял, что попал. Поскольку mariadb радостно сообщала, что для этой таблицы не хватает каких-то extensions. Перед глазами много что пронеслось.

В общем, решение следующее. На восстановленные из бекапа файлы таблицы, лежащие в /tmp, делаем
Код:
aria_chk -rq --ignore-control-file --sort_buffer_size=1G /tmp/billing
и, после успешной отработки команды, все таки кидаем файлы в директорию свежесозданной базы.
Цитата:
Recreating table '/tmp/billing'
- check record delete-chain
- recovering (with sort) Aria-table '/tmp/billing'
Data records: 92266
- Fixing index 1
State updated
И все работает.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.