All pages
Powered by GitBook
1 of 1

Loading...

MariaDB 11.4 Changes & Improvements

An overview of changes, improvements, and what's new in MariaDB Community Server 11.4

MariaDB 11.4 is a current long-term series, maintained until May 2029.

Upgrading

  • See and .

New Features

This list includes all features since the previous long-term release, (those introduced in the , and short-term releases, and the rolling release).

Optimizer

  • Major improvements to the Optimizer. See .

  • for single-table / statements. Update and delete statements that use subqueries can now use all subquery optimization strategies that MariaDB offers, so now if you use subqueries in UPDATE or DELETE, these statements will likely be much faster (, )

  • Queries with the or functions comparing against a constant can now make use of indexes, so these will be noticeably quicker in certain instances. For example SELECT * FROM t2 WHERE YEAR(a) = 2019 or SELECT * FROM t2 WHERE DATE(a) <= '2017-01-01'

InnoDB

  • Shrink without restart by setting the system variable. (, )

  • The is now shrunk by reclaiming unused space at startup (, )

Online Schema Change

  • can now do most operations with ALGORITHM=COPY, LOCK=NONE, that is, in most cases, unless the algorithm and lock level are explicitly specified, ALTER TABLE will be performed using the algorithm while simultaneously allowing concurrent on the altered table. ()

For more information, refer to, .

Replication and Binary Log

  • writing speed was improved by moving checksum calculations out of the global binlog mutex (). The system variable is available if the old behavior is desired. This is a contribution by Kristian Nielsen

  • New system variable enables binary log purging when the total size of all binary logs exceeds the specified threshold. The implementation is based on the patch from Percona ()

  • New system variable disables binary log purging until the number of connected slaves reaches the specified threshold ().

SSL/TLS

  • is now enabled in the server by default. No configuration necessary, if no server certificate was provided a self-signed certificate will be automatically generated by the server. See for details ().

  • Clients now can validate self-signed server certificates if the or authentication is used and account password is not empty ().

  • Clients now require SSL and have enabled by default ().

JSON

  • now allows retrieval of the key when iterating on JSON objects (, )

  • New functions , and to check for JSON intersection (, )

  • extracts key/value pairs from a JSON object (, )

Data Types

  • It is now possible to create on tables that contain (, )

  • data types can now be cast into types (, )

  • This means INET4 values can be compared with INET6 values and can be inserted into INET6 columns; the server can automatically convert INET4 value into INET6 as needed ()

Backup and Restore

  • New option, -j, --parallel= for increased parallelism, specifies the number of dump table jobs executed in parallel (only for use with the --tab option). Also added to , with --use-threads as a synonym. ()

  • mode has been deprecated (, )

Application-Time Periods

  • Add views for in information_schema (), in particular

  • New view

  • New view

  • New columns IS_SYSTEM_TIME_PERIOD_START and IS_SYSTEM_TIME_PERIOD_END

Sys Schema

  • New view shows granted privileges broken down by table on which they allow access and level on which they were granted. For example, if a user x has SELECT privilege granted ON db.*, this view will list all tables in the db schema with the user x having SELECT privilege on them. This is different from , which only lists privileges granted on the table level ()

Partitioning

  • and now support the WITH VALIDATION and WITHOUT VALIDATION clauses. If neither is specified, the default behavior is WITH VALIDATION ()

Collations

From :

  • 44 new added. These are aliases for MySQL collations to make it easier to replicate from MySQL to MariaDB ()

    • The includes a new column, COMMENT which contains information about which collation the alias refers to.

Connection Redirection

  • Added a using the system variable (, )

  • At the moment client-side support is missing

Privileges

  • Add a new database-level , SHOW CREATE ROUTINE that allows one to see the routine definition even if the user isn't the routine owner (, )

Spider

  • The preferred way to specify is to use the dedicated Spider table options (implemented in ). Abusing the table COMMENT clause is now deprecated ()

  • The storage engine now supports table options instead of having to encode them in COMMENT/CONNECTION strings. When any table option is specified, Spider will ignore COMMENT/CONNECTION strings at the same table/partition/subpartition. A new variable is introduced to ignore them globally at all levels (table/partition/subpartition). Another variable, , is introduced to suppress warnings when Spider ignores COMMENT/CONNECTION strings. (, )

Miscellaneous Functions

  • function now supports conversion up to base 62 ()

  • Values generated by the Key Derivation Function are resistant against password hashing generators, so are good for strongly hashed passwords ()

  • Given a time in picoseconds, the new function returns a human-readable time value and unit indicator (, )

Date and Time

  • function can now print the current time zone abbreviation and current time zone offset from UTC with %Z and %z format specifiers. (, )

Processlist

  • Added a SENT_ROWS column to the table, as well as extended the display size for the columns in processlist to ensure that most results will fit in display (, )

Miscellaneous

  • Added support for packages () outside of ()

  • Setting a non-default value will now always issue a deprecation warning (, )

  • enhancement (, )

  • Temporary tables are now displayed in the ,

Variables

  • For a list of all new variables, see .

Removed

  • Remove thr_alarm from server codebase

    • Includes removal of the system variable ()

  • In addition, the following deprecated features and system variables have been removed (, ):

Security Vulnerabilities Fixed in

For a complete list of security vulnerabilities (CVEs) fixed across all versions of MariaDB, see the page.

  • :

  • :

List of All Releases

Date
Release
Status
Release Notes
Changelog
. See
(
,
)
  • Queries like can now use an index on varchar_col if its collation is case insensitive. An option, , has been added to enable this optimization. (MDEV-31496, MariaDB 11.3)

  • Not only ascending, but also can now be used to optimize and (MDEV-27576)

  • FULL_NODUP is a new value for the system variable. It essentially works like FULL, that is all columns are included in the event, but it takes less space, because the after image omits columns that were not changed by the UPDATE statement, and have same values as in the before image. This is a contribution from Alibaba (MDEV-32589)
  • support for the mode. This is a contribution from Alibaba (MDEV-32894).

  • MariaDB can optionally maintain a and their location in the binary log. If enabled (the default), it allows finding very quickly where a new connecting replica should start replicating from. Without an index, this required scanning the binlog. This is a contribution by Kristian Nielsen (MDEV-4991).

  • Add keywords "SQL_BEFORE_GTIDS" and "SQL_AFTER_GTIDS" for (MDEV-27247, MariaDB 11.3). SQL_BEFORE_GTIDS stops the replica when it sees gtids of the option's argument list, without executing them. (MariaDB 11.3)

  • All binlog* variables are now visible as system variables, specifically , , (MDEV-30188, MariaDB 11.2)

  • Replication clients do that too, is enabled by default.
  • Use --disable-ssl or --disable-ssl-verify-server-cert to revert to the old behavior.

  • Clients can use new command line options and to verify the server certificate by its fingerprint

  • function for validating a JSON schema (
    ,
    )
    Rename xtrabackup_* files to mariadb_backup_* (MDEV-18931, MariaDB 11.1)
    in the
    view
    and
    (
    ,
    )
  • : validation of stored program statements (MDEV-5816, MariaDB 11.2)

  • Extend and to support an initialization vector and algorithm (MDEV-9069, MariaDB 11.2)

  • The option is now a system variable, and the tx_isolation system variable is deprecated (MDEV-21921, MariaDB 11.1)

  • sr_YU (deprecated since MariaDB 10.0.11)
  • "engine_condition_pushdown" in (deprecated since MariaDB 10.1.1)

  • , , , (deprecated since MariaDB 10.1.2)

  • (deprecated since MariaDB 10.1.3)

  • "parser" in table comment (deprecated since MariaDB 10.2.11)

  • variable (MDEV-30905, MariaDB 11.3)

  • and related parameters (MDEV-30545, MariaDB 11.1)

  • The has been removed (MDEV-29694, MariaDB 11.0)

  • MariaDB 11.4.7

    Stable (GA)

    6 May 2025

    MariaDB 11.4.6

    Stable (GA)

    4 Feb 2025

    MariaDB 11.4.5

    Stable (GA)

    1 Nov 2024

    MariaDB 11.4.4

    Stable (GA)

    8 Aug 2024

    MariaDB 11.4.3

    Stable (GA)

    29 May 2024

    MariaDB 11.4.2

    Stable (GA)

    16 Feb 2024

    MariaDB 11.4.1

    RC

    24 Dec 2023

    MariaDB 11.4.0

    Alpha

    6 Nov 2025

    MariaDB 11.4.9

    Stable (GA)

    Release Notes

    Changelog

    6 Aug 2025

    MariaDB 11.4.8

    Stable (GA)

    Release Notes

    Changelog

    MariaDB 10.11
    MariaDB 11.0
    MariaDB 11.1
    MariaDB 11.2
    MariaDB 11.3
    The Optimizer Cost Model from MariaDB 11.0
    MDEV-7487
    MariaDB 11.1
    MDEV-28699
    MariaDB 11.3
    MDEV-14795
    MariaDB 11.2
    MariaDB 11.2
    MDEV-31273
    MDEV-31404
    MDEV-31404
    Mission Impossible: Zero-Configuration SSL
    MDEV-31856
    MDEV-31855
    MDEV-31857
    MDEV-30145
    MariaDB 11.2
    MDEV-26182
    MariaDB 11.2
    MDEV-30145
    MariaDB 11.2
    MDEV-19177
    MariaDB 11.3
    MDEV-31626
    MariaDB 11.3
    MariaDB 11.3
    MDEV-32216
    MDEV-31505
    MariaDB 11.3
    MDEV-22597
    MDEV-24486
    MDEV-22164
    MariaDB 11.4.5
    MDEV-35256
    MDEV-15935
    MariaDB 11.3
    MDEV-29167
    MariaDB 11.3
    MariaDB 11.3
    MDEV-28861
    MDEV-28856
    MariaDB 11.3
    MDEV-30879
    MDEV-31474
    MDEV-19629
    MariaDB 11.0
    MDEV-31684
    MariaDB 11.3
    MDEV-3953
    MariaDB 11.3
    ORACLE sql_mode
    MDEV-32101
    MDEV-31811
    MariaDB 11.3
    MDEV-26137
    MariaDB 11.2
    MDEV-32567
    MDEV-32104
    MariaDB 11.3
    MariaDB 11.4
    CVE-2025-21490
    MariaDB 11.4.5
    CVE-2024-21096
    MariaDB 11.4.2
    MariaDB 11.4

    22 May 2025

    MDEV-8320
    MariaDB 11.1
    MDEV-27128
    MariaDB 11.1
    MDEV-12459
    MariaDB 11.2
    Release Notes
    Changelog
    Release Notes
    Changelog
    Release Notes
    Changelog
    Release Notes
    Changelog
    Release Notes
    Changelog
    Release Notes
    Changelog
    Release Notes
    Changelog
    Release Notes

    The most recent release of MariaDB 11.4 is:

    MariaDB 11.4.9 Stable (GA) Download Now

    Alternate download from mariadb.org

    wsrep_causal_reads
    Upgrading Between Major MariaDB Versions
    Upgrading from MariaDB 10.11 to MariaDB 11.4
    Semi-join optimization
    UPDATE
    DELETE
    DATE
    YEAR
    temporary tablespaces
    innodb_truncate_temporary_tablespace_now
    InnoDB system tablespace
    ALTER TABLE
    COPY
    DML statements
    Online Schema Change
    Binary log
    binlog_legacy_event_pos
    max_binlog_total_size
    slave_connections_needed_for_purge
    SSL
    mysql_native_password
    ed25519
    --ssl-verify-server-cert
    JSON_TABLE
    JSON_OBJECT_FILTER_KEYS
    JSON_OBJECT_TO_ARRAY
    JSON_ARRAY_INTERSECT
    JSON_KEY_VALUE
    partitions
    GEOMETRY types
    INET4
    INET6
    mariadb-dump
    mariadb-import
    mariadb-backup --innobackupex
    periods
    INFORMATION_SCHEMA.PERIODS
    INFORMATION_SCHEMA.KEY_PERIOD_USAGE
    sys.privileges_by_table_by_level
    INFORMATION_SCHEMA.TABLE_PRIVILEGES
    ALTER TABLE … EXCHANGE PARTITION
    ALTER TABLE … CONVERT TABLE … TO
    collations
    Information Schema Collations table
    redirect mechanism
    redirect_url
    privilege
    Spider parameters
    Spider
    spider_ignore_comments
    spider_suppress_comment_ignored_warning
    CONV()
    KDF
    FORMAT_PICO_TIME
    DATE_FORMAT
    Information Schema PROCESSLIST
    CREATE PACKAGE
    old_mode
    ALTER TABLE IMPORT
    Information Schema TABLES Table
    SHOW TABLES
    System Variables Added in MariaDB 11.4
    debug_no_thread_alarm
    Security Vulnerabilities Fixed in MariaDB
    Sargable DATE and YEAR
    UCASE(varchar_col)=...
    optimizer_switch
    sargable_casefold=ON
    descending indexes
    MIN()
    MAX()
    binlog_row_image
    mariadb-binlog --flashback
    FULL_NODUP
    special index of GTIDs
    START SLAVE UNTIL
    binlog_do_db
    binlog_ignore_db
    binlog_row_event_max_size
    MASTER_SSL_VERIFY_SERVER_CERT
    --ssl-fp
    --ssl-fplist
    JSON_SCHEMA_VALID
    mariadb-backup’s
    INFORMATION_SCHEMA.COLUMNS
    SHOW TABLE STATUS
    Stored programs
    AES_ENCRYPT()
    AES_DECRYPT()
    transaction_isolation
    locale
    optimizer_switch
    date_format
    datetime_format
    time_format
    max_tmp_tables
    mroonga
    old_alter_table
    innodb_defragment
    InnoDB Change Buffer

    This page is licensed: CC BY-SA / Gnu FDL