← Data Console

Browse MariaDB safely, with masked columns and an audit trail

MariaDB takes the same grants as MySQL and diverges in the places that matter once you are looking at real data. The console handles both, and the differences below are the ones that change what you see on screen.

Create a read-only MariaDB user

Run against a live server, then re-connected as that user to confirm SELECT worked and INSERT and DROP were refused.

-- MariaDB 11, verified
CREATE USER 'dbshift_ro'@'%' IDENTIFIED BY 'a-strong-password';
GRANT SELECT, SHOW VIEW ON your_db.* TO 'dbshift_ro'@'%';
FLUSH PRIVILEGES;

What browsing MariaDB looks like

  • JSON is stored as LONGTEXT with a validation constraint rather than as a distinct type, and is still shown formatted.
  • TINYINT(1) is treated as a boolean, the same as MySQL, while plain TINYINT stays numeric.
  • System-versioned tables keep history the console can show you, which a plain client will not surface.
  • ENUM value lists are preserved for filtering.

What catches people out on MariaDB

Sequences exist here and not in MySQL

MariaDB has real sequence objects alongside AUTO_INCREMENT. A schema written for MariaDB may not be a MySQL schema, which matters the moment someone tries to move it.

Default collation is case-insensitive

Filtering for 'ACME' also matches 'acme'. That is usually convenient while browsing and a genuine behaviour change if the data ever moves to an engine that compares case-sensitively.

System-versioned history is real data

If a table is versioned, historical rows are queryable — including values someone believed were deleted. Worth knowing before granting access to it.

A read-only login still shows everything

The user above stops writes. It does not stop someone reading every email address, card number and salary in the database, and it does not record who did. The console adds the other half: sensitive columns are detected and masked before the rows leave the server, unmasking is granted per column to named people, and every access is logged. Access Review answers "who can see what" across every source in one report, which is the question that is very hard to answer from a pile of grants.

Questions

How do I create a read-only user in MariaDB?

The MySQL syntax applies: create the user, then grant SELECT and SHOW VIEW on the database. Verified against MariaDB 11 — SELECT permitted, INSERT and DROP refused.

Does the console treat MariaDB differently from MySQL?

Where the engines differ, yes: JSON-as-LONGTEXT is reported as JSON, and system-versioned tables are recognised rather than shown as ordinary tables.

More on MariaDB

Other databases