Engine guides
MySQL and MariaDB.
The SQL workbench for MySQL and MariaDB: connecting, what runs where, cancelling a query, read-only enforcement and the differences from PostgreSQL.
Connecting#
Choose MySQL · MariaDB in Add a connection, or paste a mysql:// or mariadb:// URL. The defaults are port 3306 and user root; the database is optional. TLS (SSL mode), client certificates and SSH tunnels work as described under Connections. The server version shown is read from the server (for example MySQL 8.4.0 or MariaDB 11.4.2).
What works#
| Feature | MySQL / MariaDB |
|---|---|
| SQL editor, results, history, snippets, notebooks, codegen | Yes |
| Grid editing with conflict detection | Yes (text is compared with the column collation) |
| Structure tab | Columns, keys, foreign keys, indexes and triggers; add column, rename column, rename table |
| ER diagram | Yes |
| EXPLAIN | Plain EXPLAIN (no ANALYZE) |
| SSH tunnel, TLS | Yes |
| Safe Run, Health, Roles, Import, Backup, Schema diff, Search in database | Not available (PostgreSQL only) |
Behaviour to know#
- Two connections. One runs your statements; a second runs lookups, AI read queries and
KILL QUERY. Cancel sendsKILL QUERYfor the running thread. - Read-only is enforced by the session. A read-only connection sets the session read-only before every statement and screens for statements that try to switch it off. AI and MCP queries run in a read-only transaction, and first have to look like a read, because MariaDB lets DDL through a read-only transaction.
- DDL commits. Statements such as
CREATEandALTERend the current transaction on MySQL, and Plasma treats them that way when it reports an open transaction. - Types. Booleans come back as
1and0. There is no time-zone-carrying timestamp type, so none is shown. MariaDB returns JSON as text. - Timeouts. The query timeout in Settings → Security is mapped to the server’s
max_execution_time(MySQL) ormax_statement_time(MariaDB), and a timed-out statement reads like the others.