MariaDB reporting

Reporting and analytics on your live MariaDB database

Semavex connects to MariaDB directly, reads its schema and indexes, and gives your team saved reports, scheduled delivery and AI analysis without a warehouse in between. Vexon, the AI agent in Semavex, builds the semantic model and answers the questions.

What Semavex reads from MariaDB

  • Tables, columns, primary keys and foreign keys from INFORMATION_SCHEMA
  • Every index with its columns, type (BTREE, HASH, FULLTEXT, SPATIAL) and uniqueness
  • Row estimates, and the cardinality of each index's leading column
  • MariaDB has no partial or INCLUDE indexes, so plans are built around composite index prefixes and uniqueness

How reports stay out of your application's way

InnoDB's consistent reads take no row locks, so a report does not block your application's writes. By default, Semavex reads MariaDB at READ UNCOMMITTED, which can include rows from transactions that have not committed yet. Choose Database Default for the data source to read committed data only.

Each query runs with a time limit: 30 seconds for interactive questions and 120 seconds for scheduled reports. The script below also caps each statement at 120 seconds on the server side with MAX_STATEMENT_TIME, which is in seconds.

Versions with known wrong results are refused

When you connect, Semavex checks your MariaDB version. It refuses versions older than 10.3, the short-term 10.7 to 10.10 series, the pre-release 11.0.0 and 11.0.1 builds, and builds affected by MDEV-25736, a bug where ROW_NUMBER() returns wrong numbers in a query shape Semavex uses for rankings. The fix is in 10.3.38, 10.4.28, 10.5.19, 10.6.12 and 10.11.2.

Series that are out of vendor support are accepted with a warning; the long-term releases 10.11, 11.4 and 11.8 are recommended. Connections always use TLS, and accounts can sign in with mysql_native_password, ed25519 or PARSEC.

Connect with a read-only account

Run this as an administrator, then enter the account when you add the data source in Semavex. Replace the values in angle brackets.

Read-only account for MariaDB
CREATE USER 'semavex_ro'@'<semavex-address>' IDENTIFIED BY '<strong password>' REQUIRE SSL;
GRANT SELECT, SHOW VIEW ON <database>.* TO 'semavex_ro'@'<semavex-address>';
ALTER USER 'semavex_ro'@'<semavex-address>' WITH MAX_USER_CONNECTIONS 10 MAX_STATEMENT_TIME 120;
Use the address Semavex gives you during onboarding as the account's host. REQUIRE SSL makes the account work over TLS only, and MAX_STATEMENT_TIME aborts any statement after 120 seconds.

What your team gets on MariaDB

  • Saved reports with subtotals, grand totals, number formats and conditional formatting
  • Scheduled email delivery as PDF, CSV or Excel
  • Period comparisons, rolling periods, running totals, rankings and top-N
  • AI explanations from exact statistics over the whole result
  • Report chat: change a saved report by asking
  • Data alerts on your thresholds, as often as every 15 minutes (Enterprise)

Questions about MariaDB

Which MariaDB versions are supported?

10.3 and later, except builds affected by MDEV-25736 and the short-term 10.7 to 10.10 series. Semavex is tested against MariaDB 11.4 on every build and recommends 10.11, 11.4 or 11.8.

Which authentication plugins work?

mysql_native_password, ed25519 and PARSEC.

Do connections use TLS?

Yes. Semavex always connects to MariaDB over TLS, and the script on this page makes the account refuse anything else.

See it on your data

See Semavex on your MariaDB database

Book a demo and we will walk through the semantic model, a few reports and a schedule on data like yours.

MariaDB Reporting Without a Data Warehouse - Semavex