MariaDB Community Server 10.5.2 Beta Now Available
We are pleased to announce the release of MariaDB Community Server 10.5.2, the second and final beta release. It is now available for download at: MariaDB Downloads.
The release of MariaDB Community Server 10.5.2 continues our policy of yearly releases to enable user access to new features, with following Generally Available (GA) releases that are focused on maintenance.
We encourage you to add MariaDB Server into your staging environment, so you can begin reviewing and testing the new features of MariaDB Community Server 10.5.
Changes to binary file paths
As we detailed in 2019, MariaDB Server 10.4 introduced a changeover to MariaDB-named commands to supersede historical MySQL-named commands. We have made this differentiation since MariaDB Server has its own roadmap, and incorporates features which are not present in MySQL Server. For MariaDB Server 10.4, we introduced ‘mariadb’-named symlinks to ‘mysql’-named commands for binaries. With MariaDB Server 10.5, binaries are now ‘mariadb’-named, and have ‘mysql’-named symlinks for backward compatibility. In the future we plan to make these symlinks optional.
Enhanced SQL and Data Types
MariaDB Community Server 10.5 incorporates features to improve and simplify the daily use of MariaDB as a developer or DBA, including:
INSERT
andREPLACE
support the extensionRETURNING
, to return a resultset of any expression based on the added value or on a specifiedSELECT
expression.EXCEPT ALL
andINTERSECT ALL
duplicates are delivered with the result set.- Since comments for tables and columns are widely used as a way to document schema objects, comments can now be added to a database via
CREATE DATABASE
orALTER DATABASE
. JSON_ARRAYAGG
andJSON_OBJECTAGG
aggregate functions have been added to allow you to create JSON arrays or JSON objects from result sets.RENAME INDEX
andALTER TABLE ... RENAME COLUMN
syntax are now supported.- Recursive Common Table Expressions (CTE) implementation now includes automatic cycle suppression feature via a
CYCLE
clause. - A Data Type Plugin API has been added which permits users to create their own custom data types via plugins. New data types
IPv6
andIPv4
are provided as examples.
Security
The SUPER
privilege has historically covered a broad scope of administrative global privileges to control server operation. In practice we have found that users, and applications like MariaDB MaxScale, often need only a subset of the SUPER
operational responsibilities.
MariaDB Server 10.5 introduces new finer-grained privilege levels to convey a subset of SUPER
:
BINLOG ADMIN
BINLOG REPLAY
CONNECTION ADMIN
FEDERATED ADMIN
READ_ONLY ADMIN
REPLICATION MASTER ADMIN
REPLICATION SLAVE ADMIN
SET USER
The SUPER
privilege acts as an alias combining the new privileges and the limited set of privileges retained solely by SUPER
. This ensures the SUPER
privilege maintains compatibility with behavior in prior MariaDB Server versions.
InnoDB Refactor
The InnoDB storage engine has undergone a substantial refactor and cleanup. Changes include:
- Removal of unnecessary InnoDB variables
- Updated InnoDB variable defaults
- Additional InnoDB status variables
- Optimized tablespace handling, and a new InnoDB thread pool for background tasks
- Improved redo log format for increased efficiency
- Removal of InnoDB-internal foreign key parsing, allowing this to be handled by the Server rather than the storage engine
Replication and Binary Log
Enhancements to replication and binary logging include:
- Change of default
slave_parallel_mode
to “optimistic
” instead of “conservative
“. The optimistic mode of in-order parallel replication replays transactions in parallel, while still preserving exact transaction semantics from the application’s point of view. Such transactions can, in contrast to the conservative mode, result in a conflict if the same data is modified. The slave applier takes care of solving such conflicts by rolling back the later transaction and applies it again, to preserve binlog order committing. - SQL statements for controlling replication now allow the use of the term
REPLICA
instead ofSLAVE
.
System Information and Tracing
Enhancements to system information and tracing include:
- The Information Schema now includes internals from the generic thread pool, to increase visibility of database behavior.
ANALYZE
for statements now shows time spent checking theWHERE
clause.- The Information Schema table
SYSTEM_VARIABLES
has a new columnGLOBAL_VALUE_PATH
that contains the path to the file that the value of the variable was read from. - The Performance Schema has been refactored for alignment to the MySQL 5.7 Performance Schema implementation, adding tables for memory, stored routines, prepared statements, transactions, connections, and more.