Тулинг: утилиты командной строки
Смежные: Первые шаги · Режимы долговечности · Справочник
Амальгамированный пакет включает утилиты для администрирования и диагностики
БД (сборка — MDBX_BUILD_TOOLS=ON или make mdbx_chk и т.п.).
mdbx_chk — проверка целостности
Валидация структуры БД: B+tree, согласованность GC, порядок ключей, бухгалтерия страниц. Рекомендуется:
- после crashes при отладке собственной интеграции;
- периодически — как part of операционного мониторинга;
- после восстановления из бэкапа.
mdbx_chk database.mdb # базовая проверка
mdbx_chk -vvn database.mdb # verbose, без модификаций
mdbx_chk -w database.mdb # с записью (исправление реконсилируемого)
Подробности: mdbx_chk -h. Ключевые опции: -v (verbosity 0..9),
-n (no-modify), -w (write mode).
mdbx_copy — горячее копирование
Консистентная копия БД без остановки писателей — упорядоченный обход
страниц в снапшоте. Обычное копирование файла (cp) во время активной записи
такой гарантии не даёт.
mdbx_copy source.mdb backup.mdb
mdbx_copy -c source.mdb out.tar.gz # сжатая копия
Программный аналог — mdbx_env_copy2...() (C API).
mdbx_dump / mdbx_load — выгрузка и загрузка
Текстовый (или unicode-escape) дамп содержимого БД → перенос между платформами, диагностика содержимого, восстановление:
mdbx_dump database.mdb > dump.txt
mdbx_load -n new.mdb < dump.txt # -n: без блокировок при создании
mdbx_stat — статистика
Статистика окружения, таблиц, транзакций и читателей: размеры, счётчики страниц/записей, перечисление активных читателей (полезно при диагностике «долгоживущих читателей» — см. ограничения).
mdbx_stat database.mdb
mdbx_stat -a -nn database.mdb
mdbx_defrag — дефрагментация
Перенос живых страниц к началу файла с усечением хвоста. Обычно не требуется (непрерывная zero-overhead компактация работает на каждом коммите), но полезно после массовых удалений в старых версиях БД.
mdbx_defrag database.mdb
Общие рекомендации
- Все утилиты безопасно применять к копии для диагностики.
mdbx_chk -Vпоказывает сборочные опции (options:строка) — при контейнерном/кросс-хостовом использовании строка должна совпадать (см. Установка и сборка).- Для автоматизации — коды возврата соответствуют статусу операции; подробный вывод управляется опциями verbosity.