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:
INSERTandREPLACEsupport the extensionRETURNING, to return a resultset of any expression based on the added value or on a specifiedSELECTexpression.EXCEPT ALLandINTERSECT ALLduplicates 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 DATABASEorALTER DATABASE. JSON_ARRAYAGGandJSON_OBJECTAGGaggregate functions have been added to allow you to create JSON arrays or JSON objects from result sets.RENAME INDEXandALTER TABLE ... RENAME COLUMNsyntax are now supported.- Recursive Common Table Expressions (CTE) implementation now includes automatic cycle suppression feature via a
CYCLEclause. - A Data Type Plugin API has been added which permits users to create their own custom data types via plugins. New data types
IPv6andIPv4are 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 ADMINBINLOG REPLAYCONNECTION ADMINFEDERATED ADMINREAD_ONLY ADMINREPLICATION MASTER ADMINREPLICATION SLAVE ADMINSET 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_modeto “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
REPLICAinstead 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.
ANALYZEfor statements now shows time spent checking theWHEREclause.- The Information Schema table
SYSTEM_VARIABLEShas a new columnGLOBAL_VALUE_PATHthat 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.