Skip to content

Тулинг: утилиты командной строки

Смежные: Первые шаги · Режимы долговечности · Справочник

Амальгамированный пакет включает утилиты для администрирования и диагностики БД (сборка — 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.