MariaDB 11.8 Changes & Improvements
MariaDB 11.8 is a long-term release, maintained until June 2028.
This list includes all features since the previous long-term release, MariaDB 11.4 (those introduced in the MariaDB 11.5, MariaDB 11.6 and MariaDB 11.7 rolling releases, and in MariaDB 11.8).
Upgrading
Note that if you are using system versioned tables, all rows and indexes has to be updated in these to use the extended timestamp range ('
2106-02-07 06:28:15 UTC
'). Upgrading to 11.8 can take a long time if you have many rows in your system versioned tables!If you are not using system versioned tables and you are upgrading from 10.0 and up, the upgrade should just take a few seconds.
Downgrading
If you have system versioned tables, downgrading is not trivial. In other cases see downgrading between major versions.
New Features
Vectors
Functions VEC_FromText and VEC_ToText
Functions VEC_DISTANCE_COSINE, VEC_DISTANCE_EUCLIDEAN, VEC_DISTANCE for calculating either a Euclidean or Cosine distance between two vectors. The last one automatically uses Euclidean or Cosine, depending on the underlying index type (MDEV-35450)
Vector indexes can use x86_64 (AVX2 and AVX512), aarch64 neon (MDEV-34699) and Powerpc64 AltiVec (MDEV-36184) SIMD instructions
Character Sets
The default character set has been changed from
latin1
toutf8mb4
(MDEV-19123, MariaDB 11.6)Change default Unicode collation to uca1400_ai_ci, a modern Unicode collation with proper support for SMP characters (including emoji)(MDEV-25829, MariaDB 11.5)
Optimizer
Optimization improvement for single-table UPDATE/DELETE: make cost-based choice between subquery strategies (MDEV-25008)
The Charset Narrowing Optimization is now on by default (MDEV-34380)
Optimizer can now take advantage of queries of the format SUBSTR(col, 1, n) = const_str (MDEV-34911)
Add basic optimizer support for virtual columns - see Virtual Column Support in the Optimizer (MDEV-35616)
Index condition pushdown is now supported for partitioned tables (MDEV-12404, MariaDB 11.5)
ANALYZE for statement should show selectivity of pushed index condition (MDEV-18478, MariaDB 11.5)
System-Versioned Tables
Allow a system-versioned table to be converted from implicit to explicit row_start/row_end columns (MDEV-27293)
Temporary files and tables
Limit size of created disk temporary files and tables (MDEV-9101, MariaDB 11.5)
There are two system variables used for controlling this feature (MariaDB 11.5):
max_tmp_session_space_usage: Limits the temporary space allowance per user
max_tmp_total_space_usage: Limits the temporary space allowance for all users.
Data Types
The TIMESTAMP range of values was extended. The maximal allowed value for timestamps was '
2038-01-19 03:14:07 UTC'
, and is now '2106-02-07 06:28:15 UTC
'. This does not change the storage format, and new tables can be read by old MariaDB servers as long as timestamp values are within the old timestamp range. At the moment this is only supported on 64-bit platforms (MDEV-32188, MariaDB 11.5). Note that if you are using system versioned tables, all rows have to be updated in these to use the new end range. This can take a long time if you have many rows in your system versioned tables!
Authentication
Extend Unix socket authentication to support
authentication_string
(MDEV-33479, MariaDB 11.6)
InnoDB
Fix innodb-adaptive-hash-index scalability with multiple threads (MDEV-35049)
Backup and Restore
Parallel dump of multiple databases via mariadb-dump with the
--dir
option (MDEV-33625, MariaDB 11.5)Parallel import of multiple databases via mariadb-import with the
--dir
option (MDEV-33627, MariaDB 11.6)Added the related
--database
,--ignore-database
,--table
and--ignore-table
options.Refactor mariadb-import threading
The mariadb-dump
--no-autocommit
option is now set by default to allow faster data loading by InnoDB, writing only one undo log for the whole operation (MDEV-32250)mariadb-import has a new option,
--innodb-optimize-keys
to delay creation of secondary indexes until after data load, resulting in faster loads. On by default. (MDEV-34740)
Replication
When binlogging is enabled, committing a large transaction no longer freezes all other transactions until completed (MDEV-32014, MariaDB 11.7)
binlog_optimize_thread_scheduling has been deprecated (MDEV-33756, MariaDB 11.7)
Async rollback prepared transactions during binlog crash recovery (MDEV-33853, MariaDB 11.7)
New variable, slave_abort_blocking_timeout, for aborting long-running queries on a replica (MDEV-34857, MariaDB 11.7)
binlog_optimize_thread_scheduling deprecated (MDEV-33756, MariaDB 11.7)
New definition for
Seconds_Behind_Master
(MDEV-33856, MariaDB 11.6)Added three variables to SHOW ALL REPLICAS STATUS
Galera
Automatic SST user account management (MDEV-31809, MariaDB 11.6)
UUID
New function for generating version 4 UUIDs UUID_v4 (MDEV-11339, MariaDB 11.7)
New function for generating version 7 UUIDs UUID_v7 (MDEV-32637, MariaDB 11.7)
Other Functions
New FORMAT_BYTES function. Given a byte count, returns a string consisting of a value and the units in a human-readable format (MDEV-31736)
Protocol
Permit bulk implementation to return ALL individual results (MDEV-30366, MariaDB 11.5)
Send initial values of system variables in first OK packet (MDEV-31609, MariaDB 11.5)
Observability
New USERS table in the Information Schema for storing information about users, password expiry, and the limits set by max_password_errors (MDEV-23729, MDEV-32218, MariaDB 11.5)
Add more columns to Information Schema TABLE_STATISTICS, CLIENT_STATISTICS and USER STATISTICS tables (MDEV-33151, MariaDB 11.5)
Add QUERIES column to Information Schema INDEX_STATISTICS table (MDEV-33152, MariaDB 11.5)
Provide InnoDB async IO statistics (MDEV-32841, MariaDB 11.5)
Extend Query Response Time plugin to be compatible with Percona server (MDEV-33501, MariaDB 11.5)
Additional features for Sequences (MDEV-28152, MariaDB 11.5)
CREATE SEQUENCE ... AS permits creating as any INT type (including BIGINT UNSIGNED), extending the range
ANALYZE TABLE on sequences no longer attempts to collect statistics (MDEV-33938)
System-Versioned Tables
Allow a system-versioned table to be converted from implicit to explicit row_start/row_end columns (MDEV-27293, MariaDB 11.7)
Stored Routines
ROW data type for stored function return values (MDEV-12252, MariaDB 11.7)
Stored routines parameters can have default values (MDEV-10862)
Update triggers can optionally have a list of columns an update of which executes the trigger. Updating other columns does not execute the trigger (MDEV-34551)
Derived Tables
Add optional correlation column list for derived tables (MDEV-31466, MariaDB 11.7)
[SHOW] CREATE SERVER
Implement SHOW CREATE SERVER (MDEV-15696, MariaDB 11.7)
Allow arbitrary options in CREATE SERVER (MDEV-34716, MariaDB 11.7)
Slow Query Log
New variable, log_slow_always_query_time, for specifying that all queries longer than this time are logged to the slow query log, regardless of log_slow_min_examined_row_limit and log_slow_rate_limit (MDEV-33144, MariaDB 11.7)
Information Schema
When querying the information Schema, stored functions that have the same name as a native function no longer generate a warning (MDEV-35437)
Spider
The Spider variables spider_table_crd_thread_count and spider_table_sts_thread_count have been deprecated (MDEV-28009, MariaDB 11.7)
Deprecate spider_casual_read (MDEV-31789, MariaDB 11.5)
General
SESSION_USER(), which used to be an alias for USER() now shows the value of CURRENT_USER() when the session was created (MDEV-30908, MariaDB 11.7)
CURRENT_TIMESTAMP should return a TIMESTAMP (WITH TIME ZONE?) (MDEV-15751, MariaDB 11.7)
A warning has been added when max_sort_length is exceeded. (MDEV-27277, MariaDB 11.7)
Single-table DELETEs now support table aliases (MDEV-33988, MariaDB 11.6)
Set thread names for MariaDB Server threads (MDEV-32537, MariaDB 11.6)
Variables
Deprecate and ignore the alter_algorithm system variable (MDEV-33655, MariaDB 11.5)
For a list of all new variables, see System Variables Added in MariaDB 11.8
Removed Features
The following deprecated features have been removed:
<data type> <character set clause> ... COMPRESSED...
(MariaDB 11.5)the correct syntax is
<data type> COMPRESSED... <character set clause> ...
integer latches in OQGraph (and the related oqgraph_allow_create_integer_latch variable). (MariaDB 11.5)
List of All MariaDB 11.8 Releases
This page is licensed: CC BY-SA / Gnu FDL
Last updated
Was this helpful?