All pages
Powered by GitBook
1 of 1

MariaDB 10.1 Changes & Improvements

MariaDB 10.1 is no longer maintained. Please use a more recent release.

The most recent release of MariaDB 10.1 is:MariaDB 10.1.48 Stable (GA) Download Now

MariaDB 10.1 is a previous stable version of MariaDB. The first stable release was in October 2014.

For details on upgrading from MariaDB 10.0, see Upgrading from MariaDB 10.0 to 10.1.

The following lists the major new features in MariaDB 10.1:

Implemented Features

Galera

  • Galera, a true multi-master solution, is a standard part of MariaDB 10.1.

  • Two new Information Schema tables for examining wsrep information, WSREP_MEMBERSHIP and WSREP_STATUS (MDEV-7053)

Encryption

  • Table, Tablespace and log Encryption.

Page Compression

  • InnoDB/XtraDB Page Compression

  • Page compression for FusionIO.

Replication

  • Optimistic mode of in-order parallel replication (MDEV-6676)

  • domain_id based replication filters - see CHANGE MASTER TO (MDEV-6593)

  • Enhanced semisync replication; Wait for at least one slave to acknowledge transaction before committing (MDEV-162).

  • Triggers can now be run on the slave for row-based events.

  • Dump Thread Enhancements from Google. Makes multiple slave setups faster by allowing concurrent reading of binary log. (MDEV-7257)

  • Commits in certain instances in parallel replication complete immediately, avoiding losing throughput when many transactions need conflicting locks. See binlog_commit_wait_count.

  • RESET_MASTER is extended with TO # which allows one to specify the number of the first binary log. (MDEV-8469)

  • Due to the implementation of SQL standards-compliant behavior when dealing with Primary Keys with Nullable Columns, in certain edge cases, there may be replication issues when replicating from a MariaDB 10.0 master to a MariaDB 10.1 slave using statement-based replication. See MDEV-12248.

Roles

  • SET DEFAULT ROLE (MDEV-5210).

  • New columns for the INFORMATION_SCHEMA.APPLICABLE_ROLES table.

Optimization

  • ORDER BY optimization is improved by several fixes for real-world cases.

  • Don't create frm files for temporary tables (MDEV-4260).

  • MAX_STATEMENT_TIME can be used to automatically abort long running queries. (MDEV-4427).

  • UNION ALL works without usage of a temporary table (MDEV-334). The feature was backported from MySQL 5.7

  • Scalability fixes (MDEV-7004). Up to 60% higher throughput in sysbench benchmarks on Power8.

  • Make simple queries faster as we call malloc() fewer times.

  • Automatic discovery of performance schema tables (simpler mysql_install_db code). (MDEV-4262), Performance Schema tables no longer use .frm files.

  • Other Webscale patches (MDEV-6039)

  • MDEV-7728 xid cache scalability was significantly improved (by using lock-free hash)

GIS

  • Support for Spatial Reference systems for the GIS data (MDEV-60), new REF_SYSTEM_ID column attribute can be used to specify Spatial Reference System ID for columns of spatial data types:

  • More functions from the OGC standard added (MDEV-4045):

    • ST_Boundary

    • ST_ConvexHull

    • ST_IsRing

    • ST_PointOnSurface

    • ST_Relate

  • INFORMATION_SCHEMA.GEOMETRY_COLUMNS table.

  • INFORMATION_SCHEMA.SPATIAL_REF_SYS table.

Syntax

  • Consistent support for IF EXISTS, IF NOT EXISTS, and OR REPLACE clauses:

    • CREATE DATABASE (MDEV-7280)

    • CREATE FUNCTION UDF (MDEV-7283)

    • CREATE ROLE (MDEV-7288)

    • CREATE SERVER (MDEV-7285)

    • CREATE USER (MDEV-7288)

    • CREATE VIEW (MDEV-7283)

    • DROP ROLE (MDEV-7288)

    • DROP USER (MDEV-7288)

    • CREATE EVENT and DROP EVENT (MDEV-7281)

    • CREATE INDEX and DROP INDEX (MDEV-7284)

    • CREATE TRIGGER and DROP TRIGGER (MDEV-7286)

  • Information Schema plugins can now support SHOW and FLUSH statements. New statements include:

    • SHOW QUERY_RESPONSE_TIME

    • FLUSH QUERY_RESPONSE_TIME

    • SHOW LOCALES

  • New columns for the INFORMATION_SCHEMA.APPLICABLE_ROLES and INFORMATION_SCHEMA.VIEWS tables.

  • ANALYZE statement provides output that looks like EXPLAIN output, but also includes data from the query execution (how many rows were actually read, etc).

  • EXPLAIN FORMAT=JSON is a re-implementation of similar feature in MySQL 5.6

  • ANALYZE FORMAT=JSON produces detailed information about the statement execution

  • GET_LOCK() now supports microseconds in the timeout, no longer rounding fractions to the nearest integer (MDEV-4018)

  • Compound statements can be used outside of stored programs.

  • The number of rows affected by a slow UPDATE or DELETE is now recorded in the slow query log - see also mysql.slow_log Table. (MDEV-4412)

  • SQL standards-compliant behavior when dealing with Primary Keys with Nullable Columns. Note that this could cause replication issues in certain edge cases when replicating from a MariaDB 10.0 master to a MariaDB 10.1 slave. using statement-based replication. See MDEV-12248.

  • Explicit or implicit casts from MAX(string) to INT, DOUBLE or DECIMAL now produce warnings (MDEV-8852).

XtraDB / InnoDB

  • Allow up to 64K pages in InnoDB (old limit was 16K) (MDEV-6075).

  • The Facebook/Kakao defragmentation patch (see Defragmenting InnoDB Tablespaces) which uses OPTIMIZE TABLE to defragment InnoDB tablespaces).

Collations

  • Added the utf8_thai_520_w2, utf8mb4_thai_520_w2, ucs2_thai_520_w2, utf16_thai_520_w2 and utf32_thai_520_w2 collations.

Variables

For a list of all new variables, see System Variables Added in MariaDB 10.1 and Status Variables Added in MariaDB 10.1. Some of these, and other variable-related changes, include:

  • INFORMATION_SCHEMA.SYSTEM_VARIABLES gives information, like description and value origin, for system variables (MDEV-6138).

  • MDEV-6858 New server variable enforce_storage_engine

  • New status variables to show the number of grants on different objects (see Status Variables Added in MariaDB 10.1)

  • Default size of query_alloc_block_size changed from 8192 to 16384 and query_prealloc_size from 8192 to 24576 to avoid the need for simple queries with one join to call my_malloc.

  • Added variable default-tmp-storage-engine (From MySQL 5.6) (MDEV-6107).

  • SET STATEMENT - set variables for the duration of the query (MDEV-5231). This is a backport of Per-query Variable Statement feature of Percona Server 5.6 (which, in turn, is based in MySQL GSoC 2009 project by Joseph Lukas), with many bugs fixed.

  • --mysql56-temporal-format option to use the MySQL-5.6 low level formats to store TIME, DATETIME and TIMESTAMP types. (MDEV-5528)

  • Backport innodb_default_row_format (MDEV-14904)

  • mysqld --help --verbose now shows valid variables for ENUM variables. (MDEV-6137)

  • MDEV-6981 New status variables to track MASTER_GTID_WAIT time.

  • MDEV-7198 New status variable Slave_skipped_errors.

  • --silent-startup mysqld option. If specified, mysqld does not print Notes to the error log during startup.

Plugins

  • Password validation plugin API (MDEV-6431).

  • simple_password_check password validation plugin. It can enforce a minimum password length and guarantee that a password contains at least a specified number of uppercase and lowercase letters, digits, and punctuation characters.

  • cracklib_password_check password validation plugin. It only allows passwords that are strong enough to pass CrackLib test. This is the same test that pam_cracklib.so does, installed by default on many Linux distributions.

  • ed25519 authentication plugin for traditional password-based authentication. A new, secure alternative to the old mysql_native_password plugin.

Security

  • Enhance security using special compilation options - MariaDB is now compiled with security hardening options by default. It is an additional protection layer that makes new, yet unknown, security vulnerabilities more difficult to exploit. (MDEV-5730)

Security Vulnerabilities Fixed in MariaDB 10.1

For a complete list of security vulnerabilities (CVEs) fixed across all versions of MariaDB, see the Security Vulnerabilities Fixed in MariaDB page.

  • CVE-2021-2144: MariaDB 10.1.42CVE-2021-2022: MariaDB 10.1.46CVE-2021-2011: MariaDB 10.1.33CVE-2021-2007: MariaDB 10.1.41CVE-2020-2922: MariaDB 10.1.41CVE-2020-28912: MariaDB 10.1.48CVE-2020-2814: MariaDB 10.1.45CVE-2020-2812: MariaDB 10.1.45CVE-2020-2780: MariaDB 10.1.42CVE-2020-2752: MariaDB 10.1.45CVE-2020-2574: MariaDB 10.1.44CVE-2020-15180: MariaDB 10.1.47CVE-2020-14812: MariaDB 10.1.48CVE-2020-14765: MariaDB 10.1.48CVE-2020-14550: MariaDB 10.1.33CVE-2019-2974: MariaDB 10.1.42CVE-2019-2805: MariaDB 10.1.41CVE-2019-2740: MariaDB 10.1.41CVE-2019-2739: MariaDB 10.1.41CVE-2019-2737: MariaDB 10.1.41CVE-2019-2627: MariaDB 10.1.39CVE-2019-2614: MariaDB 10.1.39CVE-2019-2537: MariaDB 10.1.38CVE-2019-2529: MariaDB 10.1.38CVE-2019-2503: MariaDB 10.1.36CVE-2019-2455: MariaDB 10.1.33CVE-2018-3282: MariaDB 10.1.37CVE-2018-3251: MariaDB 10.1.37CVE-2018-3174: MariaDB 10.1.37CVE-2018-3156: MariaDB 10.1.37CVE-2018-3143: MariaDB 10.1.37CVE-2018-3133: MariaDB 10.1.30CVE-2018-3081: MariaDB 10.1.33CVE-2018-3066: MariaDB 10.1.35CVE-2018-3064: MariaDB 10.1.35CVE-2018-3063: MariaDB 10.1.35CVE-2018-3058: MariaDB 10.1.35CVE-2018-2819: MariaDB 10.1.33CVE-2018-2817: MariaDB 10.1.33CVE-2018-2813: MariaDB 10.1.33CVE-2018-2787: MariaDB 10.1.33CVE-2018-2784: MariaDB 10.1.33CVE-2018-2782: MariaDB 10.1.33CVE-2018-2781: MariaDB 10.1.33CVE-2018-2771: MariaDB 10.1.33CVE-2018-2767: MariaDB 10.1.33CVE-2018-2766: MariaDB 10.1.33CVE-2018-2761: MariaDB 10.1.33CVE-2018-2755: MariaDB 10.1.33CVE-2018-2668: MariaDB 10.1.31CVE-2018-2665: MariaDB 10.1.31CVE-2018-2640: MariaDB 10.1.31CVE-2018-2622: MariaDB 10.1.31CVE-2018-2612: MariaDB 10.1.31CVE-2018-2562: MariaDB 10.1.31CVE-2017-3653: MariaDB 10.1.26CVE-2017-3651: MariaDB 10.1.19CVE-2017-3641: MariaDB 10.1.26CVE-2017-3636: MariaDB 10.1.26CVE-2017-3600: MariaDB 10.1.19CVE-2017-3464: MariaDB 10.1.23CVE-2017-3456: MariaDB 10.1.23CVE-2017-3453: MariaDB 10.1.23CVE-2017-3318: MariaDB 10.1.21CVE-2017-3317: MariaDB 10.1.21CVE-2017-3313: MariaDB 10.1.22CVE-2017-3312: MariaDB 10.1.21CVE-2017-3309: MariaDB 10.1.23CVE-2017-3308: MariaDB 10.1.23CVE-2017-3302: MariaDB 10.1.22CVE-2017-3291: MariaDB 10.1.21CVE-2017-3265: MariaDB 10.1.21CVE-2017-3258: MariaDB 10.1.21CVE-2017-3257: MariaDB 10.1.21CVE-2017-3244: MariaDB 10.1.21CVE-2017-3243: MariaDB 10.1.21CVE-2017-3238: MariaDB 10.1.21CVE-2017-15365: MariaDB 10.1.30CVE-2017-10384: MariaDB 10.1.26CVE-2017-10379: MariaDB 10.1.26CVE-2017-10378: MariaDB 10.1.29CVE-2017-10286: MariaDB 10.1.26CVE-2017-10268: MariaDB 10.1.29CVE-2016-9843: MariaDB 10.1.37CVE-2016-8283: MariaDB 10.1.18CVE-2016-7440: MariaDB 10.1.19CVE-2016-6664: MariaDB 10.1.21CVE-2016-6663: MariaDB 10.1.18CVE-2016-6662: MariaDB 10.1.17CVE-2016-5629: MariaDB 10.1.18CVE-2016-5626: MariaDB 10.1.18CVE-2016-5624: MariaDB 10.1.18CVE-2016-5616: MariaDB 10.1.18CVE-2016-5584: MariaDB 10.1.19CVE-2016-5483: MariaDB 10.1.19CVE-2016-5444: MariaDB 10.1.14CVE-2016-5440: MariaDB 10.1.15CVE-2016-3615: MariaDB 10.1.15CVE-2016-3521: MariaDB 10.1.15CVE-2016-3492: MariaDB 10.1.18CVE-2016-3477: MariaDB 10.1.15CVE-2016-3471: MariaDB 10.1.9CVE-2016-3459: MariaDB 10.1.14CVE-2016-3452: MariaDB 10.1.14CVE-2016-2047: MariaDB 10.1.10CVE-2016-0668: MariaDB 10.1.12CVE-2016-0666: [MariaDB 10.1.14]https://mariadb.com/docs/release-notes/mariadb-community-server-release-notes/old-releases/release-notes-mariadb-10-1-series/mariadb-10114-release-notes)CVE-2016-0655: MariaDB 10.1.14CVE-2016-0651: MariaDB 10.1.10CVE-2016-0650: MariaDB 10.1.12CVE-2016-0649: MariaDB 10.1.12CVE-2016-0648: MariaDB 10.1.14CVE-2016-0647: MariaDB 10.1.14CVE-2016-0646: MariaDB 10.1.12CVE-2016-0644: MariaDB 10.1.12CVE-2016-0643: MariaDB 10.1.14CVE-2016-0642: MariaDB 10.1.10CVE-2016-0641: MariaDB 10.1.12CVE-2016-0640: MariaDB 10.1.12CVE-2016-0616: MariaDB 10.1.10CVE-2016-0610: MariaDB 10.1.9CVE-2016-0609: MariaDB 10.1.10CVE-2016-0608: MariaDB 10.1.10CVE-2016-0606: MariaDB 10.1.10CVE-2016-0600: MariaDB 10.1.10CVE-2016-0598: MariaDB 10.1.10CVE-2016-0597: MariaDB 10.1.10CVE-2016-0596: MariaDB 10.1.10CVE-2016-0546: MariaDB 10.1.10CVE-2016-0505: MariaDB 10.1.10CVE-2015-7744: MariaDB 10.1.9CVE-2015-4913: MariaDB 10.1.8CVE-2015-4895: MariaDB 10.1.8CVE-2015-4879: MariaDB 10.1.8CVE-2015-4870: MariaDB 10.1.8CVE-2015-4866: MariaDB 10.1.8CVE-2015-4864: MariaDB 10.1.8CVE-2015-4861: MariaDB 10.1.8CVE-2015-4858: MariaDB 10.1.8CVE-2015-4836: MariaDB 10.1.8CVE-2015-4830: MariaDB 10.1.8CVE-2015-4826: MariaDB 10.1.8CVE-2015-4819: MariaDB 10.1.8CVE-2015-4816: MariaDB 10.1.8CVE-2015-4815: MariaDB 10.1.8CVE-2015-4807: MariaDB 10.1.8CVE-2015-4802: MariaDB 10.1.8CVE-2015-4792: MariaDB 10.1.8

Comparison with MySQL

  • System Variable Differences Between MariaDB 10.1 and MySQL 5.6

  • System Variable Differences Between MariaDB 10.1 and MySQL 5.7

List of all MariaDB 10.1 releases

Date
Release
Status
Release Notes
Changelog

3 Nov 2020

MariaDB 10.1.48

Stable (GA)

Release Notes

Changelog

7 Oct 2020

MariaDB 10.1.47

Stable (GA)

Release Notes

Changelog

10 Aug 2020

MariaDB 10.1.46

Stable (GA)

Release Notes

Changelog

12 May 2020

MariaDB 10.1.45

Stable (GA)

Release Notes

Changelog

28 Jan 2020

MariaDB 10.1.44

Stable (GA)

Release Notes

Changelog

8 Nov 2019

MariaDB 10.1.43

Stable (GA)

Release Notes

Changelog

5 Nov 2019

MariaDB 10.1.42

Stable (GA)

Release Notes

Changelog

31 Jul 2019

MariaDB 10.1.41

Stable (GA)

Release Notes

Changelog

8 May 2019

MariaDB 10.1.40

Stable (GA)

Release Notes

Changelog

2 May 2019

MariaDB 10.1.39

Stable (GA)

Release Notes

Changelog

6 Feb 2019

MariaDB 10.1.38

Stable (GA)

Release Notes

Changelog

2 Nov 2018

MariaDB 10.1.37

Stable (GA)

Release Notes

Changelog

8 Sep 2018

MariaDB 10.1.36

Stable (GA)

Release Notes

Changelog

7 Aug 2018

MariaDB 10.1.35

Stable (GA)

Release Notes

Changelog

18 Jun 2018

MariaDB 10.1.34

Stable (GA)

Release Notes

Changelog

9 May 2018

MariaDB 10.1.33

Stable (GA)

Release Notes

Changelog

27 Mar 2018

MariaDB 10.1.32

Stable (GA)

Release Notes

Changelog

6 Feb 2018

MariaDB 10.1.31

Stable (GA)

Release Notes

Changelog

22 Dec 2017

MariaDB 10.1.30

Stable (GA)

Release Notes

Changelog

14 Nov 2017

MariaDB 10.1.29

Stable (GA)

Release Notes

Changelog

28 Sep 2017

MariaDB 10.1.28

Stable (GA)

Release Notes

Changelog

25 Sep 2017

MariaDB 10.1.27

Stable (GA)

Release Notes

Changelog

10 Aug 2017

MariaDB 10.1.26

Stable (GA)

Release Notes

Changelog

4 Jul 2017

MariaDB 10.1.25

Stable (GA)

Release Notes

Changelog

31 May 2017

MariaDB 10.1.24

Stable (GA)

Release Notes

Changelog

3 May 2017

MariaDB 10.1.23

Stable (GA)

Release Notes

Changelog

14 Mar 2017

MariaDB 10.1.22

Stable (GA)

Release Notes

Changelog

18 Jan 2017

MariaDB 10.1.21

Stable (GA)

Release Notes

Changelog

15 Dec 2016

MariaDB 10.1.20

Stable (GA)

Release Notes

Changelog

7 Nov 2016

MariaDB 10.1.19

Stable (GA)

Release Notes

Changelog

30 Sep 2016

MariaDB 10.1.18

Stable (GA)

Release Notes

Changelog

30 Aug 2016

MariaDB 10.1.17

Stable (GA)

Release Notes

Changelog

18 Jul 2016

MariaDB 10.1.16

Stable (GA)

Release Notes

Changelog

1 Jul 2016

MariaDB 10.1.15

Stable (GA)

Release Notes

Changelog

10 May 2016

MariaDB 10.1.14

Stable (GA)

Release Notes

Changelog

25 Mar 2016

MariaDB 10.1.13

Stable (GA)

Release Notes

Changelog

25 Feb 2016

MariaDB 10.1.12

Stable (GA)

Release Notes

Changelog

29 Jan 2016

MariaDB 10.1.11

Stable (GA)

Release Notes

Changelog

24 Dec 2015

MariaDB 10.1.10

Stable (GA)

Release Notes

Changelog

23 Nov 2015

MariaDB 10.1.9

Stable (GA)

Release Notes

Changelog

17 Oct 2015

MariaDB 10.1.8

Stable (GA)

Release Notes

Changelog

9 Sep 2015

MariaDB 10.1.7

Release Candidate (RC)

Release Notes

Changelog

27 Jul 2015

MariaDB 10.1.6

Beta

Release Notes

Changelog

4 Jun 2015

MariaDB 10.1.5

Beta

Release Notes

Changelog

13 Apr 2015

MariaDB 10.1.4

Beta

Release Notes

Changelog

2 Mar 2015

MariaDB 10.1.3

Beta

Release Notes

Changelog

7 Dec 2014

MariaDB 10.1.2

Alpha

Release Notes

Changelog

17 Oct 2014

MariaDB 10.1.1

Alpha

Release Notes

Changelog

30 Jun 2014

MariaDB 10.1.0

Alpha

Release Notes

Changelog

See Also

  • Getting, Installing, and Upgrading MariaDB

Be notified of new MariaDB Server releases automatically by subscribing to the MariaDB Foundation community announce 'at' lists.mariadb.org announcement list (this is a low traffic, announce-only list). MariaDB plc customers will be notified for all new releases, security issues and critical bug fixes for all MariaDB plc products thanks to the Notification Services.

MariaDB may already be included in your favorite OS distribution. More information can be found on the Distributions which Include MariaDB page.

This page is licensed: CC BY-SA / Gnu FDL