Release Notes for MariaDB Enterprise Server 10.5.4-2

This second release of MariaDB Enterprise Server 10.5 is the first GA (Generally Available) release. It Includes a variety of new features.

MariaDB Enterprise Server 10.5.4-2 was released on 2020-07-16.

Note

With MariaDB Enterprise Server 10.5 "mysql" command names are replaced with "mariadb" command names. Symbolic links are in place to maintain backward compatibility with the old names and prevent disruption. (MDEV-21303)

Notable Changes

  • MariaDB Enterprise ColumnStore is a columnar storage engine for analytical workloads. MariaDB Enterprise ColumnStore 1.5.3 is included in this release. Specific details on this component may be found in the Enterprise ColumnStore 1.5.3 release notes.

  • MariaDB Xpand is a distributed storage engine with High Availability (HA), full ACID compliance, and fault tolerance with scale-out and elasticity. MariaDB Xpand 9.3-Beta-7 is included in this release. Specific details on this component may be found in the MariaDB Xpand 9.3-Beta-7 release notes.

Changes in Storage Engines

  • New in storage engine ColumnStore:

    • This release includes Enterprise ColumnStore 1.5.3 release notes.

    • Comprehensive rewrite of installation, cluster management, and failover logic

    • Support for standard MariaDB Server collations and character sets

  • New in storage engine InnoDB:

    • Online resizing of the InnoDB redo log

    • InnoDB Buffer Pool optimizations (MDEV-15058)

    • Number of InnoDB purge threads can be changed at runtime

    • New thread pool implementation for InnoDB background tasks (MDEV-16264)

    • Information Schema tables THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, and THREAD_POOL_STATS added for insights into internals of the new InnoDB Thread Pool (MDEV-19313)

    • Status variables added for InnoDB storage engine parameters previously exposed only in SHOW ENGINE INNODB STATUS (MDEV-18582)

    • Improvements to Group Commit performance for InnoDB Redo Log (MDEV-21534)

    • InnoDB file format constraints to ALTER TABLE statements allow compatibility with older versions (MDEV-20590)

    • Improvements to DROP TABLE for InnoDB (MDEV-8069) (MDEV-11412) (MDEV-22456)

    • InnoDB performance improvements (MDEV-15053) (MDEV-22593) (MDEV-22697) (MDEV-22871) (MDEV-22841)

  • New in storage engine S3:

    • Enhancements to partition support

    • Replication support using shared or separate S3 storage backend for Primary and Secondary Node

  • New in storage engine Spider:

    • This release includes Enterprise Spider 3.4, including ODBC Wrapper support.

    • Create Spider tables which represent tables provided via ODBC access

    • The ODBC Wrapper is of Beta maturity.

    • Information Schema table spider_wrapper_protocols added for information about supported wrappers

  • New in storage engine Xpand:

SQL Level Enhancements

  • MariaDB SQL statements support REPLICA a synonym for SLAVE (MDEV-20601)

  • RETURNING clause can be used for INSERT and REPLACE statements to return a result set of the inserted rows or another specified SQL statement (MDEV-10014)

  • INTERSECT and EXCEPT statements support ALL, so result sets can now include duplicate rows (MDEV-18844)

  • Comments can be added for a database in the CREATE DATABASE statement, formerly limited to field level (MDEV-307)

  • JSON function JSON_ARRAYAGG() can be used to create a JSON array from the values of a column (MDEV-16620)

  • JSON function JSON_OBJECTAGG() can be used to build an JSON object from the result set of a query (MDEV-16620)

  • Support added for creating custom Data Types using the new Data Type API (MDEV-274)

    • INET data type plugin added for storing IPv4 and IPv6 addresses

  • RENAME INDEX and RENAME KEY can be used with ALTER TABLE (MDEV-7318)

  • RENAME COLUMN can now be used with ALTER TABLE (MDEV-16290)

  • Support added for recursive CTE cycle detection using the CYCLE clause (MDEV-20632)

  • IF EXIST keywords are now supported in ALTER TABLE and RENAME TABLE statements

  • Support added for WITHOUT OVERLAPS for Application-Time Period temporal tables (MDEV-16978)

Replication and High Availability (HA)

  • Replica aware server shutdown (MENT-731)

    • Primary only shuts down when replication transactions have been processed

    • Added the shutdown_wait_for_slaves system variable to control default behavior

  • MariaDB Enterprise Cluster based on Galera 4.1

    • New non-blocking DDL mode: set wsrep_osu_method system variable to NBO to allow DDL to not block the whole cluster for ALTER TABLE statements, which use a lock mode SHARED or EXCLUSIVE

    • Galera Black Box as debug message storage for troubleshooting

    • A new inconsistency voting protocol in MariaDB Cluster can be used avoiding a full cluster shutdown while ensuring hardening the cluster against potential threats for data consistency (MDEV-17048)

    • Support added for Galera Global Transaction ID in MariaDB Cluster, which replicates MariaDB Global Transaction ID to other nodes in the cluster (MDEV-20720)

    • Support added for Non Blocking Operations method in wsrep_osu_method system variable (MDEV-20051)

Privileges and Security Features

  • Key Management plugin for HashiCorp Vault System

  • System variable require_secure_transport for rejecting connections attempted using insecure transport (MDEV-13662)

  • SUPER privilege split into several smaller privileges, allowing for more fine grained tuning of what each user can do: BINLOG ADMIN, BINLOG REPLAY, CONNECTION ADMIN, FEDERATED ADMIN, READ_ONLY ADMIN, REPLICATION MASTER ADMIN, REPLICATION SLAVE ADMIN, and SET USER (MDEV-21743)

Optimizer Changes

  • For filesort, the mode addon_fields, addon_fields or packed_addon_fields used for sorting will be shown in ANALYZE FORMAT=JSON (MDEV-21838)

  • Through enhancement to Query Optimizer, ANALYZE now shows the time spent for checking WHERE clauses and performing other auxiliary operations (MDEV-20854)

  • Enhancement for the sort buffer to allow packed values of non-sorted fields in the sort buffer (MDEV-21263)

  • Optimizer can now use packed sort keys in the sort buffer (MDEV-21580)

Interface Changes

Tools

  • aria_pack supports transactional tables

  • aria_pack now supports --datadir, --ignore-control-file, and --require-control-file options

  • mariadb-dump now supports --ignore-table-data option (MDEV-22037)

Privileges and Security

  • REPLICATION CLIENT privilege renamed to BINLOG MONITOR, the old syntax still understood for compatibility (MDEV-21743)

  • Several statements changed required privileges and may require a number of GRANT statements to be issued after upgrade:

    • SHOW BINLOG EVENTS now requires BINLOG MONITOR privilege, instead of REPLICATION SLAVE

    • SHOW SLAVE HOSTS now requires REPLICATION SLAVE ADMIN or SUPER privileges, instead of REPLICATION CLIENT or SUPER

    • SHOW SLAVE STATUS now requires REPLICATION SLAVE ADMIN or SUPER privileges, instead of REPLICATION CLIENT or SUPER

    • SHOW RELAYLOG EVENTS now requires REPLICATION SLAVE ADMIN privilege, instead of REPLICATION SLAVE

New defaults

Configuration Options

  • Upgraded Performance Schema instrumentation and tables (MDEV-6114)

  • Support added for ENFORCE option with slave_run_triggers_for_rbr system variable (MDEV-21833)

  • Support added for sql_if_exists session system variable, which provides an implicit IF EXISTS to SQL statements altering, renaming, or dropping tables, views, functions, and packages (MDEV-19964)

  • Column added to Information Schema SYSTEM_VARIABLES table showing the configuration file from which it received its value (MDEV-12684)

  • Columns that indicate InnoDB Buffer Pool instance now return a value of 0 on the Information Schema INNODB_BUFFER_PAGE, INNODB_BUFFER_PAGE_LRU, INNODB_BUFFER_POOL_STATS, INNODB_CMPMEM, and INNODB_CMPMEM_RESET (MDEV-15058)

  • SHOW MASTER STATUS statement renamed to SHOW BINLOG STATUS, the old syntax still understood for compatibility (MDEV-21743)

  • innodb_encryption_threads now capped at 255 (MDEV-22258)

  • Minimum value of max_sort_length raised to 8 (previously 4), so fixed size data types like DOUBLE and BIGINT are not truncated for lower values of max_sort_length (MDEV-22715)

Deprecated/Removed System Variables

  • innodb_checksums system variable removed (MDEV-19534)

  • innodb_log_checksums system variable deprecated (MDEV-19543)

  • innodb_locks_unsafe_for_binlog system variable removed (MDEV-19544)

  • innodb_stats_sample_pages system variable removed (MDEV-19551)

  • innodb_undo_logs system variable deprecated (MDEV-19570)

  • innodb_rollback_segments system variable removed (MDEV-19570)

  • innodb_buffer_pool_instances system variable deprecated and ignored

  • innodb_page_cleaners system variable deprecated and ignored

  • innodb_log_optimize_ddl system variable deprecated and ignored (MDEV-19747)

  • multi_range_count system variable deprecated and removed (MDEV-18650)

  • thread_concurrency system variable deprecated and removed (MDEV-18650)

  • imed_mutexes system variable deprecated and removed (MDEV-18650)

  • innodb_scrub_log system variable deprecated and ignored (MDEV-21870)

  • innodb_scrub_log_speed system variable deprecated and ignored (MDEV-21870)

  • innodb_background_scrub_data_uncompressed system variable deprecated and ignored (MDEV-15528)

  • innodb_background_scrub_data_compressed system variable deprecated and ignored (MDEV-15528)

  • innodb_background_scrub_data_interval system variable deprecated and ignored (MDEV-15528)

  • innodb_background_scrub_data_check_interval system variable deprecated and ignored (MDEV-15528)

  • innodb_log_files_in_group system variable deprecated and ignored (MDEV-14425)

  • innodb_log_optimize_ddl system variable deprecated and ignored (MDEV-19747)

Deprecated/Removed Information Schema

  • Information Schema INNODB_TABLESPACES_SCRUBBING table removed (MDEV-15528)

Aria Storage Engine

  • Maximum key length for Aria storage engine increased from 1000 to 2000 bytes

Platforms

In alignment to the enterprise lifecycle, MariaDB Enterprise Server 10.5.13-7 is provided for:

  • Red Hat Enterprise Linux 8

  • Red Hat Enterprise Linux 7

  • CentOS 8

  • CentOS 7

  • Ubuntu 20.04

  • Ubuntu 18.04

  • Ubuntu 16.04

  • Debian 10

  • Debian 9

  • SUSE Linux Enterprise Server 15

  • SUSE Linux Enterprise Server 12

  • Microsoft Windows

Upgrade Instructions