All pages
Powered by GitBook
1 of 1

Loading...

What's New in MariaDB Enterprise Server 11.8

An overview of changes, improvements, and 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.

Vector Search

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.

  • 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.

  • Optimization that makes vector search 30-50% (depending on the data) faster for the same recall. Enabled automatically for applicable vectors. Vectors are applicable if they can be gradually truncated to trade some recall for speed. For example matryoshka embeddings as produced by OpenAI are applicable.

Backported Features

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.

Performance Improvements

  • Optimization that makes vector search 30-50% faster (more details in the section)

  • Segmented key cache for

    • system variable

  • Add option to not collect statistics for long char/varchars, see for more information

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.

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

    Or enabling the feature for an existing table by using

    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:

Security

  • New :

    • Based on elliptic curve cryptography.

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

      This will result in:

      \

Replication & Clustering

  • Improved Replication Lag Monitoring:

    • now includes:\

  • for :\

  • New Option – --slave-abort-blocking-timeout

Key Management

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

  • File Key Management Encryption Plugin: Added key rotation capability; see for details. In addition, a new Information Schema table was added, .

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.

PL/SQL

Support for Oracle-stype INDEX BY tables (associative arrays) was backported from in stored routines and anonymous blocks, with this declaration syntax:

Where:

  • type_name supports explicit and anchored data types (e.g t1.col1%TYPE).

  • The INDEX BY clause supports integer and string data types.

  • rec_type_name supports scalar and record data types.

The implementation supports the following associative array methods:

  • FIRST

  • LAST

  • NEXT

  • PRIOR

Tool Improvements

  • mariadb-dump:

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

    • Supports parallel dumps and restores.

    • New --update-history

Userstat Plugin Enhancements

  • Improved Insights:

    • Index usage via QUERIES in INDEX_STATISTICS.

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

Available Versions

  • MariaDB Enterprise Server 11.8.2-0 Tech Preview

See also:

Installation Instructions

Upgrade Instructions

What's new in older release series

Namespace support was added to HashiCorp Vault in MariaDB. See the Hashicorp namespaces documentation for details.
  • are possible now.

  • NEW SHOW CREATE SERVER: Recreate server objects similar to .
  • DBMS_OUTPUT: Messages submitted by DBMS_OUTPUT.PUT_LINE() are not sent to the client until the sending subprogram or trigger completes.

  • 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:

  • Triggers:

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

  • Use of SIGNAL SQLSTATE '02TRG' allows skipping a row operation.

  • Stored Procedures: Now support default parameter values:

  • Associative arrays: DECLARE TYPE .. TABLE OF .. INDEX BY

  • Added caching_sha2_password plugin, see for more information

  • 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:

    : Kills blocking non-replication queries after a timeout.
  • Galera SST Automation: SST user is now auto-created and managed internally.

  • Backported MDEV-35304 : Add {{Connects_Tried}} & {{Master_Retry_Count}} from CS-12.0

  • New Views:

    • SLAVE_STATUS to view replication lag via SQL.

    • for password state and expiration monitoring.

    • to introspect auto-generated sequences:\

  • Enhanced ANALYZE FORMAT=JSON:

    • Includes r_index_rows, r_icp_filtered.

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

  • Galera Information Schema: New Information Schema table.

  • Galera Information Schema: New and Information Schema tables.

  • Galera Information Schema: New Information Schema table .

  • Galera Information Schema: New Information Schema and tables.

  • COUNT

  • EXISTS

  • DELETE

  • 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.

  • mariadb-test (mtr):

    • mtr can be started with the --enable_serveroutput option to enable DBMS_OUTPUT messages. See for details.

  • mariadb (command-line client)

    • New --enable_serveroutput option to enable DBMS_OUTPUT messages at start time. See for details.

    • New serveroutput and noserveroutput command to enable and disable those messages at runtime. See for details.

  • New stats in CLIENT_STATISTICS and USER_STATISTICS.

  • Table I/O metrics: PAGES_ACCESSED, PAGES_READ_FROM_DISK.

  • What's New in MariaDB Enterprise Server 10.3
  • What's New in MariaDB Enterprise Server 10.2

  • MariaDB Enterprise Server 11.8.5-2
    Vector Search
    MariaDB 12.1
    MariaDB Enterprise Server 11.8.5-2
    MariaDB Enterprise Server 11.8.3-1
    All MariaDB Enterprise Releases
    What's New in MariaDB Enterprise Server 11.4
    What's New in MariaDB Enterprise Server 10.6
    What's New in MariaDB Enterprise Server 10.5
    What's New in MariaDB Enterprise Server 10.4
    DECLARE
      TYPE DeptRecTyp IS RECORD (
        dept_id    NUMBER(4),
        dept_name  VARCHAR2(30),
        mgr_id     NUMBER(6),
        loc_id     NUMBER(4)
      );
    CREATE TRIGGER mytrigger BEFORE UPDATE OF col1, col2 ON t1 FOR EACH ROW …
    CREATE OR REPLACE PROCEDURE p1(param1 INT, param2 INT DEFAULT 1)
    CREATE USER dba IDENTIFIED VIA UNIX_SOCKET AS 'jack' OR IDENTIFIED VIA UNIX_SOCKET AS 'jill';
    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
    CREATE TABLE contracts (...) WITH SYSTEM VERSIONING;
    ALTER TABLE contracts ADD SYSTEM VERSIONING;
    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);
    CREATE USER 'MariaDBUser'@'%' IDENTIFIED VIA PARSEC USING PASSWORD('MyPassword123!');
    SHOW GRANTS FOR MariaDBUser@'%';
    Grants for MariaDBUser@%
    GRANT USAGE ON *.* TO `MariaDBUser`@`%` IDENTIFIED VIA parsec USING 'P0:lhXyNv1cIxpB8EnTxR7ON7S7:1l3rWRW1/jw45yrvYXB8eh02wzk7lcJcz4CMc
    Ww2b+8'
    Master_last_event_time
    
    Slave_last_event_time
    
    Master_Slave_time_diff
    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
    TYPE type_name TABLE OF rec_type_name INDEX BY idx_type_name;

    The most recent release of MariaDB Enterprise Server 11.8 is:

    Download Now

    • Log write buffering added to the and plugins (MENT-2438)

      • The buffering is controlled by the added variables:

        • server_audit_file_buffer_size - defines the size of the buffer. The default value is 0 meaning there's no buffering at all. Setting non-zero value enables the buffering with the buffer of the specified size aligned by 8192. The maximum value is 65536.

        • server_audit_sync_log_file - flushes the buffer to the log file. While the log record is in the buffer, it cannot be seen in the log file. And if there are not many events to log, the time before records can be observed can be significant. So user can do SET GLOBAL server_audit_log_file=1 to this variable to force write the buffer to the file, to make sure he doesn't miss the recent records.

    • Two new fields are available via SHOW REPLICA STATUS ()

      1. Connects_Tried, which provides the number of attempts the replica has made to connect to the primary, and

      2. Master_Retry_Count, which provides the number of times the replica will attempt to connect to a primary before giving up.

    • The authentication plugin caching_sha2_password has been added, not loaded by default ()

    MENT-2129
    MDEV-37600
    System Variables
    Aria storage engine
    aria_pagecache_segments
    analyze_max_length
    Skipping Long CHAR/VARCHAR Columns
    Authentication Plugin—PARSEC
    authentication plugin
    SHOW REPLICA STATUS
    Information Schema Table
    Replication Status
    KMS Plugin
    this page
    FILE_KEY_MANAGEMENT_KEYS
    Deploy MariaDB Enterprise with Repositories
    Deploy MariaDB Enterprise with Package Tarballs
    Deploy MariaDB Enterprise with Docker
    Upgrade to MariaDB Enterprise Server 11.8
    Audit logging buffer writes
    SHOW CREATE TABLE
    Authentication Plugin - SHA-256
    Information Schema
    USERS
    SEQUENCES
    WSREP_BF_ABORTS
    WSREP_THD_STATE
    WSREP_THD_STATE_HISTORY
    WSREP_CONNECTIONS
    WSREP_CERT_KEYS
    WSREP_CERT_KEYS_HISTORY
    this section
    this section
    this section
    SERVER_AUDIT
    SERVER_AUDIT2

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