What Is New in MariaDB 10.5
MariaDB 10.5 is a long-term support (LTS) release that brings significant improvements in reliability, modern SQL features, security, and performance. It introduces new data types, storage engines, atomic DDL behavior in many cases, and better observability while cleaning up older internals.
This version marks an important step toward better branding with binary name changes and lays groundwork for future enhancements in replication and JSON handling.
Major New Features
| Area | Feature | Description |
|---|---|---|
| Data Type | INET6 |
New native data type for storing and handling IPv6 addresses. |
| Storage Engine | S3 Storage Engine | Allows archiving tables directly to S3-compatible object storage with support for partitioning. |
| Storage Engine | MariaDB ColumnStore | Included as Beta starting from 10.5.4 for analytical workloads. |
| SQL Syntax | INSERT ... RETURNING |
Returns values from inserted rows in a single statement. |
| JSON | JSON_ARRAYAGG and JSON_OBJECTAGG |
New aggregate functions to build JSON arrays and objects from grouped data. |
Binary and Branding Changes
MariaDB 10.5 renames client and utility binaries from the mysql* prefix to mariadb* (for example, mariadb, mariadb-dump, mariadb-import). Symlinks to the old names are provided for backward compatibility.
Security and Privilege Improvements
The SUPER privilege is split into more granular privileges for better security control:
- New privileges such as
BINLOG MONITOR,REPLICATION MASTER ADMIN, andREPLICATION SLAVE ADMIN. - Many replication-related commands now require specific privileges instead of full
SUPER.
Replication Enhancements
Replication receives several useful updates:
- Full GTID support in Galera Cluster with shared GTID across all nodes.
- New
binlog_row_metadatavariable to control how much metadata is logged in the binary log (FULL, MINIMAL, or NO_LOG). - Extended binary log metadata including column names, signedness, character sets, and primary key information.
slave_parallel_modedefaults tooptimistic.REPLICAis now a synonym forSLAVEin replication statements.
Performance and Optimizer Improvements
MariaDB 10.5 includes many internal optimizations:
- Up to 25% faster connection handling.
- Improved range optimizer and better choice between
refandrangeaccess. - Faster
crc32()function on modern architectures (AMD64, ARMv8, POWER8). - Optimized sort buffer usage to reduce temporary files for large VARCHAR, CHAR, or BLOB columns.
- Deferred change buffer merges and improved redo log group commit in InnoDB.
InnoDB Changes
Important default and internal changes in InnoDB include:
- New default:
innodb_adaptive_hash_index = OFFandinnodb_checksum_algorithm = full_crc32. - Many old InnoDB variables and tables removed or deprecated (for example,
innodb_buffer_pool_instances, multiple buffer pool instances concept). - Optimized page header access and redo log record format.
Other Notable Changes
Additional improvements include:
- New Information Schema tables for thread pool monitoring (
THREAD_POOL_GROUPS,THREAD_POOL_QUEUES, etc.). - Migration from PCRE to PCRE2 for regular expressions.
- Support for
WITHOUT OVERLAPSin application period tables. IF EXISTSsupport forALTER TABLEandRENAME TABLE.- Performance Schema updated to include many features from MySQL 5.7.
- Reduced binary tarball size.
FAQ
What is the main highlight of MariaDB 10.5?
The introduction of the INET6 data type, S3 storage engine, new JSON aggregate functions, and more granular privileges are among the key new features.
Is MariaDB 10.5 a long-term support release?
Yes. It is an LTS release that received maintenance and security updates for several years.
Does MariaDB 10.5 support vector search?
No. Native vector data type and vector indexing were introduced later in MariaDB 11.8.
What changed with binary names in MariaDB 10.5?
Client tools and utilities were renamed to use the mariadb* prefix (e.g. mariadb-dump instead of mysqldump), with symlinks kept for compatibility.
Are there important default changes in InnoDB?
Yes. The adaptive hash index is now disabled by default, and the checksum algorithm defaults to full_crc32.