What's New in MariaDB Enterprise Server 11.8

MariaDB Enterprise Server 11.8 introduces a wide range of enhancements spanning developer productivity, security, compatibility, observability, and support for modern workloads like vector search. The MariaDB Enterprise Server 11.8.2-0 Technical Preview adds the innovations from the MariaDB Community Server releases 11.5 to 11.8 to MariaDB Enterprise Server 11.4.

MariaDB Enterprise Server 11.8 continues to expand its native vector search capabilities, positioning MariaDB for AI-powered applications such as semantic search and recommendation systems. Already available in the MariaDB Enterprise Server 11.4 are:

  • New Data Type: VECTOR(N) to store multi-dimensional embeddings.

  • Vector Indexing: Efficient similarity search with VECTOR INDEX.

  • Distance Functions:

    • VEC_DISTANCE_EUCLIDEAN() for L2 distance.

    • VEC_DISTANCE_COSINE() for angular similarity.

  • Conversion Functions:

    • Vec_FromText(json_array) and Vec_ToText(vector_column) transform between the text and binary vector formats.

  • System Variables for Index Tuning:

    • mhnsw_max_cache_size, mhnsw_default_distance, mhnsw_default_m, mhnsw_ef_search.

Added to MariaDB Enterprise Server 11.8

  • Distance Functions:

    • VEC_DISTANCE() auto-selects the best distance function based on the index configuration.

Indexes, SQL Functions, and Query Enhancements

  • UUID Generation: New functions UUID_v4() and UUID_v7() for modern and time-ordered UUIDs.

  • Multi-Table DELETE Enhancements: Support for ORDER BY and LIMIT.

  • Single-Table DELETE Enhancements: Now it allows index hints.

  • NEW SHOW CREATE SERVER: Recreate server objects similar to SHOW CREATE TABLE.

Data Types and Compatibility

  • UTF-8 by Default: utf8mb4 replaces latin1 and legacy utf8, ensuring full Unicode support, including emojis.

  • Default Collation: utf8mb4_uca1400_ai_ci is now the standard for Unicode character sets.

  • Extended TIMESTAMP Range: Increased upper bound to 2106 on 64-bit systems.

  • ROW Type Enhancements:

    • ROW types are now usable as stored function return values. The support for %ROWTYPE, TYPE OF, and RECORD(...) declarations for Oracle-like compatibility:

      DECLARE
        TYPE DeptRecTyp IS RECORD (
          dept_id    NUMBER(4),
          dept_name  VARCHAR2(30),
          mgr_id     NUMBER(6),
          loc_id     NUMBER(4)
        );
  • Triggers:

    • BEFORE UPDATE OF col1, col2 limits trigger execution to specific column updates:

      CREATE TRIGGER mytrigger BEFORE UPDATE OF col1, col2 ON t1 FOR EACH ROW …
  • Use of SIGNAL SQLSTATE '02TRG' allows skipping a row operation.

  • Stored Procedures: Now support default parameter values:

    CREATE OR REPLACE PROCEDURE p1(param1 INT, param2 INT DEFAULT 1)

Enhancements to System Versioned Tables

  • System Versioned Tables is a powerful feature for auditing changes to data. Enabling System Versioned Tables is as easy as creating a table by using

    CREATE TABLE contracts (...) WITH SYSTEM VERSIONING;

    Or enabling the feature for an existing table by using

    ALTER TABLE contracts ADD SYSTEM VERSIONING;

    In both cases, invisible fields will be created in the table to track the timestamps and period for which the data is valid. A DBA/DevOps might want these fields to be visible. It is now possible to change such implicit fields to explicit ones by the following types of statements:

    SET @@system_versioning_alter_history= keep;
    ALTER TABLE contracts ADD COLUMN rs timestamp(6) AS ROW START, ADD COLUMN re timestamp(6) AS ROW END, ADD PERIOD FOR SYSTEM_TIME (rs,re);

Security

  • New Authentication Plugin—PARSEC:

    • Based on elliptic curve cryptography.

    • Mitigates the replay and man-in-the-middle attacks. Example on how to create a user using the new authentication plugin:

      CREATE USER 'MariaDBUser'@'%' IDENTIFIED VIA PARSEC USING PASSWORD('MyPassword123!');

      This will result in:

      SHOW GRANTS FOR MariaDBUser@'%';
      Grants for MariaDBUser@%
      GRANT USAGE ON *.* TO `MariaDBUser`@`%` IDENTIFIED VIA parsec USING 'P0:lhXyNv1cIxpB8EnTxR7ON7S7:1l3rWRW1/jw45yrvYXB8eh02wzk7lcJcz4CMc
      Ww2b+8'

      \

  • Unix Socket Enhancements:

    • Now supports explicit OS user mapping via IDENTIFIED VIA UNIX_SOCKET AS 'user'.

    • It is also possible to specify more than one OS user with the usual OR syntax:

      CREATE USER dba IDENTIFIED VIA UNIX_SOCKET AS 'jack' OR IDENTIFIED VIA UNIX_SOCKET AS 'jill';

Replication & Clustering

  • Improved Replication Lag Monitoring:

    • SHOW REPLICA STATUS now includes:\

      Master_last_event_time
      
      Slave_last_event_time
      
      Master_Slave_time_diff
  • Information Schema Table for Replication Status:\

    MariaDB [test]> SELECT Master_last_event_time,Slave_last_event_time,Master_Slave_time_diff FROM information_schema.slave_status\G
    *************************** 1. row ***************************
    Master_last_event_time: 2024-08-13 07:32:38
    Slave_last_event_time: 2024-08-13 07:32:37
    Master_Slave_time_diff: 1
  • New Option – --slave-abort-blocking-timeout: Kills blocking non-replication queries after a timeout.

  • Galera SST Automation: SST user is now auto-created and managed internally.

Key Management

  • KMS Plugin Enhancement: The file_key_management plugin can now read keys from a Unix socket, not just from files.

Observability & Information Schema

  • Temporary File Disk Space Limits:

    • max_tmp_session_space_usage and max_tmp_total_space_usage prevent runaway disk usage.

  • New Status Variables: tmp_space_used, max_tmp_space_used.

  • New Information Schema Views:

    • SLAVE_STATUS to view replication lag via SQL.

    • USERS for password state and expiration monitoring.

    • SEQUENCES to introspect auto-generated sequences:\

      SELECT * FROM INFORMATION_SCHEMA.SEQUENCES\G
      *************************** 1. row ***************************
             SEQUENCE_CATALOG: def
              SEQUENCE_SCHEMA: test
                SEQUENCE_NAME: s_name
                    DATA_TYPE: tinyint
            NUMERIC_PRECISION: 8
      NUMERIC_PRECISION_RADIX: 2
                NUMERIC_SCALE: 0
                  START_VALUE: 100
                MINIMUM_VALUE: -127
                MAXIMUM_VALUE: 126
                    INCREMENT: 10
                 CYCLE_OPTION: 0
  • Enhanced ANALYZE FORMAT=JSON:

    • Includes r_index_rows, r_icp_filtered.

  • Thread Naming for Diagnostics: Thread names are now more descriptive.

Tool Improvements

  • mariadb-dump:

    • The --dir=<path> dumps each database to its subdirectory.

    • Supports parallel dumps and restores.

    • New --update-history converts row_end TIMESTAMPs during export.

  • mariadb-import:

    • --dir=<path> restores from the dumped directory structure.

    • Supports --database, --table, --ignore-database, --ignore-table for selective restore.

    • --innodb-optimize-keys: defers index creation to speed up data loads.

Userstat Plugin Enhancements

  • Improved Insights:

    • Index usage via QUERIES in INDEX_STATISTICS.

    • Query operation counts: ROWS_INSERTED, ROWS_UPDATED, KEY_READ_HITS, etc.

    • New stats in CLIENT_STATISTICS and USER_STATISTICS.

    • Table I/O metrics: PAGES_ACCESSED, PAGES_READ_FROM_DISK.

Available Versions

Installation Instructions

Upgrade Instructions

What's new in older release series

This page is: Copyright © 2025 MariaDB. All rights reserved.

Last updated

Was this helpful?