DBTrail
Settings

Servers

Add, edit and scope the databases DBTrail captures from.

One server = one source database = one replication connection, the footprint of one replica.

Add a server

Console → + Add server.

The + Add server form: name, source type, host, port, user, password and schemas fields, with the CREATE USER and GRANT statements ready to copy.
FieldNotes
Source typeMySQL, PostgreSQL (beta), MariaDB (alpha)
Source host, port, user, passwordA dedicated user; the form shows the CREATE USER and GRANT to copy
SchemasOptional. Empty = every user schema. A filter cuts index size
Archive to S3Optional bucket for rotated hours: Retention
S3 storeOptional: S3 endpoint, S3 addressing, S3 region, S3 access key and S3 secret key, for an S3-compatible store or keys other than the daemon's. Settings belong to the bucket, so servers that share a bucket must use the same ones
Database, replication slot, publicationPostgreSQL only
AdvancedBring your own index: host, port, user, password, index database

Save runs preflight; a failed check becomes a card with the fix. Then an index database is provisioned and the stream starts. Test connection checks without saving, including each S3 bucket the server uses. Source requirements: prepare your MySQL source.

Getting started list

Until a new server captures its first change, Overview lists the steps from adding it:

  1. Create the index database
  2. Connect to the source
  3. Read the table structure (MySQL and MariaDB)
  4. Start capturing changes
  5. Capture the first change
  6. Take the first backup, only when the console can create backups and the server has a backup location

Each step is waiting, running, done or failed. A failed step shows the error and what to do. A source with no changes yet shows as running: a quiet database is normal. The list goes away once a change is captured.

Backup dir and Backup S3 are set per server on Backup settings.

Guards

  • Duplicate source: preflight warns, without blocking, when a new server looks like a replica of one already monitored.
  • One daemon per server: a per-entry lock stops double streaming.
  • Restarts resume every stream from its saved checkpoint.

GTID

Recommended, especially on RDS, Aurora and Cloud SQL: binlog file names can change after a failover, GTIDs do not. With gtid_mode = ON, capture tracks the full executed GTID set, every backup records the set it contains, and a whole transaction can be undone by GTID (Recovery).

Headless

Bundled Compose stack, first server from the environment:

SOURCE_DSN: user:pass@tcp(db.example.com:3306)/
SCHEMAS: shop,billing   # empty = all user schemas

bintrail stream by hand (start positions, GTID, TLS, gap handling): streaming reference, systemd units. Stream badges: Status.

On this page