DBTrail CLI

DBTrail читает бинлог MySQL, держит копию в Parquet для запросов в DuckDB и дает MCP-доступ на чтение для Claude Desktop

  • 68 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLIОфициальный

Широкий доступ

Почему такой уровень

  • Читает бинарный журнал рабочей базы MySQL и копирует каждое изменение строк, в том числе персональные данные, в Parquet
  • Для подключения создается пользователь репликации, а установка идет скриптом через curl и sh
  • Генерирует SQL, который меняет данные при запуске, поэтому его надо проверять перед выполнением
Все причины и проверки

dbtrail/dbtrail

Установка

Работает в

Ручная установка

curl -fsSL https://raw.githubusercontent.com/dbtrail/dbtrail/main/install.sh | sh

Нужны Docker с Compose и DuckDB для запросов. Скрипт запускает стек и печатает следующие шаги; вход в веб-интерфейс на 127.0.0.1:8090.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Читает бинарный журнал рабочей базы MySQL и копирует каждое изменение строк, в том числе персональные данные, в Parquet
  • Для подключения создается пользователь репликации, а установка идет скриптом через curl и sh
  • Генерирует SQL, который меняет данные при запуске, поэтому его надо проверять перед выполнением

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

DBTrail подключается к MySQL по протоколу репликации, как обычная реплика, и по бинарному журналу складывает таблицы в файлы Parquet в вашей папке или корзине S3. Копия отстает на минуты, расписание обновления задается от пяти минут до суток. Запросы к ней идут в DuckDB через сгенерированный views.sql, поэтому тяжелые отчеты не нагружают рабочую базу. Работает с MySQL 8.0 и 8.4, Percona, Amazon RDS и Aurora, MariaDB; для PostgreSQL есть разовая копия. Тот же поток изменений хранит каждую версию каждой строки. Можно посмотреть таблицу на прошлый момент через веб-интерфейс или команду reconstruct и получить SQL, который отменяет только поврежденные строки: DBTrail пишет SQL, а вы проверяете и запускаете его сами. Команда bintrail verify проверяет без доступа к источнику, что восстановление дало бы нужный результат. В веб-интерфейсе можно добавить серверы, настроить снимки и смотреть изменения. К Claude Desktop или любому MCP-клиенту DBTrail подключается через MCP-сервер, все его инструменты только читают.

Для кого. Администраторам и аналитикам MySQL, которым нужны отчеты без нагрузки на рабочую базу и откат испорченных строк, а запросы к данным хочется отдавать ассистенту.

Подходит, если

  • Отчеты на рабочей базе вымывают рабочий набор из буферного пула, и аналитику нужна отдельная копия
  • Кто-то удалил или испортил строки, и надо получить SQL отката только для них
  • Требуется узнать, как выглядела строка или таблица неделю назад, и что изменилось между двумя моментами
  • База стоит в Amazon RDS или Aurora, где нет доступа к файлам бинарного журнала
  • Вопросы к данным хочется задавать Claude Desktop обычным языком, но только на чтение

Не подходит, если

  • Нужна высокая доступность или резервная копия: DBTrail их не обеспечивает, и история начинается с дня установки
  • Приложение должно ходить в копию: она отстает на минуты и не принимает записи
  • Нужна задержка в секунды по умолчанию: свежий режим включается отдельно на каждый сервер
  • Нет Docker с Compose и DuckDB на машине для запросов

Пример запроса к агенту

Покажи через MCP, как выглядела строка заказа с идентификатором 4217 вчера в 18:00 и что изменилось с тех пор

Ограничения

  • Нужен бинарный журнал в формате ROW с полными образами строк: binlog_format=ROW и binlog_row_image=FULL; проверка и подсказка по исправлению есть в bintrail doctor.
  • Изменение схемы таблицы, TRUNCATE, DROP или RENAME приостанавливают обновления до полного чтения базы, самое частое раз в сутки, с короткой блокировкой.
  • Без корзины S3 история строк хранится 48 часов, на диске остаются три новейших снимка каждой таблицы.
  • Сервера MySQL для отчетов здесь нет: отчеты идут в DuckDB, а необязательный порт MySQL (бета, без TLS) отвечает только на вопросы «как выглядело».

Как отключить. Остановите стек Docker Compose, который поставил скрипт установки, и удалите созданного для DBTrail пользователя репликации в MySQL. Файлы Parquet в папке или корзине S3 остаются у вас.

Частые вопросы

Как установить DBTrail?

Выполните curl -fsSL https://raw.githubusercontent.com/dbtrail/dbtrail/main/install.sh | sh. Нужен Docker с Compose, а DuckDB потребуется там, где вы выполняете запросы. Скрипт скачивает стек Docker Compose, запускает его и печатает следующие шаги. Веб-интерфейс откроется на http://127.0.0.1:8090.

Нагружает ли DBTrail рабочую базу?

Мало: после первого чтения таблиц DBTrail получает только бинарный журнал по протоколу репликации, без плагинов, агентов и триггеров на сервере БД. Полное чтение повторяется при изменении схемы таблицы, не чаще раза в сутки.

Может ли ассистент изменить данные через MCP?

Нет, все инструменты MCP-сервера только читают. SQL для отмены изменений DBTrail тоже только пишет, а проверяете и запускаете его вы. Настройка подключения Claude Desktop описана в docs/connect-ai.md репозитория.

Какие базы поддерживаются?

MySQL 8.0 и 8.4, Percona Server, Amazon RDS и Aurora для MySQL, MariaDB 10.11 и новее. Для Google Cloud SQL заявлено, что должно работать. PostgreSQL 14 и новее получает разовую копию, а история строк там в бете.

Заменяет ли DBTrail резервное копирование?

Нет. История начинается в день установки, поэтому физические бэкапы нужно сохранять. DBTrail не обеспечивает и высокую доступность: приложение к копии не подключается, переключения на нее нет.

Обсуждение

Вопросов и отзывов пока нет.

Официальный

Десктопное рабочее место для SQL с встроенным MCP-сервером: агент читает схему и выполняет запросы в том же клиенте, где работаете вы

MCP-серверШирокий доступ5,4 тыс.Звезды репозитория

DuckDB / MotherDuck MCP Server

DuckDB / MotherDuck Local MCP Server

Официальный

MCP-сервер для SQL-аналитики на DuckDB: локальные файлы, база в памяти, базы на S3 и MotherDuck

MCP-серверРасширенный доступ539Звезды репозитория
Выбор редакции

Экономный по токенам MCP-сервер для PostgreSQL, MySQL, MariaDB, SQL Server и SQLite с режимом только для чтения

MCP-серверШирокий доступ3,8 тыс.Звезды репозитория
Официальный

Временная песочница на DuckDB: агент загружает CSV и запрашивает данные по MCP или REST, не трогая боевую базу

MCP-серверРасширенный доступ21Звезды репозитория
Официальный

Легкое рабочее место для баз данных с MCP-сервером: агент читает схему, выполняет запросы и разбирает данные в PostgreSQL, MySQL и других

MCP-серверШирокий доступ5,1 тыс.Звезды репозитория

Плагин DuckDB для Claude Code: SQL по CSV, Parquet и базам, чтение файлов из S3, поиск в документации и в логах сессий

ПлагинРасширенный доступ616Звезды репозитория

Коротко о README

README показывает запрос к копии в DuckDB, объясняет, зачем нужна копия, и в четыре шага описывает работу: первое чтение, бинарный журнал, обновление по расписанию и запросы. Приведены замеры на наборе TPC-C, возможности копии и истории строк, ограничения, таблица поддерживаемых баз, установка с первым запуском и ссылки на документацию.

Бейдж для README

Сообщить о проблеме

Foxx AIDBTrail
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.