MariaDB (Beta)
Capture changes from MariaDB, added from the web interface like a MySQL server, nothing installed in your server
+ Add server → Open the full form → Source type: MariaDB, the same web interface as MySQL. Beta: verified end to end against MariaDB 10.11, 11.4, 11.8 and 12.3 in CI.
Nothing is installed in your MariaDB server
DBTrail reads the binary log from outside, the way MariaDB replication does. No plugin, trigger or agent on your server. The index, where DBTrail keeps the changes it reads, stays MySQL; the bundled one works.
Before you begin
The same as a MySQL server:
log_binON,binlog_formatROW andbinlog_row_imageFULL. MariaDB defaults to FULL, but check it.- Every table has a primary key and uses InnoDB.
- A login that can create users, to create the one DBTrail connects with.
MariaDB 10.11 or newer. 10.11, 11.4, 11.8 and 12.3 are tested; other versions from 10.11 up are expected to work.
Add it from the web interface
- + Add server → Open the full form → Source type: MariaDB.
- Host, port, user and password. The form shows the SQL that creates DBTrail's user for MariaDB. Run it with your login.
- Save. DBTrail checks the server and starts capturing. The server list marks it MariaDB.
On RDS for MariaDB, use the LOCK TABLES line the form shows instead of
RELOAD, and set the lock mode to lock-all (BASELINE_LOCK_MODE=lock-all
in .env in the dbtrail folder).
What works
- Every INSERT, UPDATE and DELETE, before and after, with undo SQL, as on MySQL.
- Resuming after a restart, in position and GTID mode, with an alarm if the server purged changes DBTrail still needed.
- Snapshots from Snapshots → Read database now, with the same screens as MySQL. The scheduled update has not been tested on MariaDB yet.
- The SQL statement behind each change, which MariaDB records by default.
Good to know
- Each server is told apart by its address. MariaDB has no server id of its own like MySQL's, so DBTrail uses host and port. Two MariaDB servers behind the same address (one proxy, one tunnel) would be mixed up: give each its own address. Moving a server to a new address starts a new history.
- Not tested yet: several servers writing to one GTID stream (multi-master, Galera), and a failover inside a GTID domain.
- A MariaDB index is not supported; the index stays MySQL.
Everything, including the command line: MariaDB guide on GitHub.