All pages
Powered by GitBook
1 of 1

Loading...

MariaDB 10.2 Changes & Improvements

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

The most recent release of MariaDB 10.2 is:MariaDB 10.2.44 Stable (GA) Download Now

MariaDB 10.2 is a previous major stable version. The first stable release was in May 2017.

For details on upgrading from MariaDB 10.1, see .

The following lists the major new features in MariaDB 10.2:

Implemented Features

InnoDB as Default

  • is now the default storage engine. Until , MariaDB used the XtraDB storage engine as default. XtraDB in 10.2 is not up to date with the latest features of InnoDB and cannot be used. As the InnoDB on disk format is identical to XtraDB's this will not cause any problems when upgrading to . See

Syntax / General Features

  • storage engine added. (It has its own . In , it is considered Gamma) ()

  • have been introduced.

  • The statement was introduced

  • New options for limiting resource usage and tls/ssl

Incompatible Changes

  • has been split into a separate package, mariadb-plugin-tokudb.

  • has been changed; in particular, NOT NULL fields with no default will no longer fall back to a dummy value for inserts which do not specify a value for that field.

  • Replication from legacy MySQL servers may require setting to NONE.

  • New : OVER, RECURSIVE, and ROWS.

Triggers

  • Multiple for the same event ()

  • The FOLLOWS/PRECEDES clauses have been added to the statement

  • Multiple triggers are now counted in the Executed_triggers status variable ()

  • and now include the date and time the trigger was created

Replication / Binary Log

  • DML_only can rollback instances/databases/tables to an old snapshot ()

  • New variable permits restricting the speed at which the slave reads the binlog from the master () — Original code from Tencent Game DBA Team, developed by chouryzhou.

  • is supported () — Backported from MySQL 5.6 by Kristian Nielsen funded by Booking.com.

  • is supported (

GeoJSON / JSON

  • The (an alias for LONGTEXT) was introduced.

  • added ()

  • Implement and functions so the spatial features can be imported/exported using GeoJSON format ()

Information Schema

  • An information schema plugin to report all user variables, which creates the ()

  • Changes to the table. Literals are now quoted in the COLUMN_DEFAULT column to distinguish them from expressions (), and two new columns added providing information about columns ().

EXPLAIN

  • now shows outer_ref_condition field which contains the condition that the(?) SELECT checks on each re-execution ()

  • now shows sort_key field which shows the sort criteria used by filesort operation. ()

  • EXPLAIN used to show incorrect information about how the optimizer resolved ORDER BY

Optimizations

  • Connection setup was made faster by moving creation of THD to new thread ()

  • Pushdown conditions into non-mergeable views/derived tables (, ) — Original code from Galina Shalygina

  • has been re-implemented so as not to lock the entire table when collecting engine independent statistics ()

  • Internal CRC32 routines use the optimized implementation on Power8 —

Compatibility

  • 88 new added. In NO PAD collations, end spaces are significant in comparisons () — Original code from Daniil Medvedev

  • MariaDB now works when started with a MySQL 5.7.6+ data directory ()

CONNECT

  • for the CONNECT storage engine ()

  • The CONNECT engine now supports the ()

System Variables

For a list of all new system variables, see . Variable changes include:

  • New variable to disable deadlock detection

  • has been renamed to ()

  • Default values of the and system variables changed to BACKUP,QUICK

  • The server version can now be faked to work around dated applications that require a particular

Status Variables

For a list of all new status variables, see .

Scripts

  • Continuous binary log backup has been added to ()

  • and mysqlbug have been removed (, )

Other Changes

  • Added support for OpenSSL 1.1 and LibreSSL ()

  • Persistent for InnoDB ()

  • Support COM_RESET_CONNECTION ()

  • "fast mutexes" have been removed. These aren't faster than normal mutexes, and have been disabled by default for years ()

Security Vulnerabilities Fixed in

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

  • :

  • :

  • :

  • :

Comparison with MySQL

List of All Releases

Date
Release
Status
Release Notes
Changelog

See Also

  • Plans for 10.x for features under consideration for features under consideration

New statement

  • (MDEV-9864)

  • New statement. WITH is a common table expression that allows you to refer to a subquery expression many times in a query (MDEV-8308 & MDEV-9864) — Original code from Galina Shalygina

  • Support for (MDEV-7563)

  • Support for (MDEV-10134)

  • fields can now have a value

  • Lots of restrictions lifted for

  • Number of supported decimals in has increased from 30 to 38 (MDEV-10138)

  • Added catchall for list partitions (MDEV-8348)

  • Oracle-style statement (MDEV-10585)

  • /Dynamic SQL now understand most expressions (MDEV-10866, MDEV-10709).

  • InnoDB tables now support

  • (MDEV-12160)

  • Better InnoDB crash recovery progress reporting (MDEV-11027)

  • Improvements to InnoDB startup/shutdown to make it more robust

  • added for Windows, CentOS, RHEL, and Fedora packages

  • . Shannon system SSD cards are now supported.

  • ) — Original code from Tencent Game DBA Team, developed by vinchen.
  • Default changed to mixed (MDEV-7635)

  • Default value of changed to ON (MDEV-7635)

  • Default value of reduced to 60 seconds (MDEV-7635)

  • Default changed from 0 to 1

  • clause or
    Distinct
    . This was a long-standing problem with roots back in MySQL. Now, after
    and related fixes, the problem doesn't exist anymore. (For test cases, see
    ,
    ,
    ,
    )
  • Table cache can automatically partition itself as needed to reduce the contention (MDEV-10296)

  • (
    )
  • is now an alias for slave_parallel_threads

  • New status variables , and

  • New variable for setting a directory for storing temporary non-tablespace InnoDB files,

  • New variable permits restricting the speed at which the slave reads the binlog from the master (MDEV-11064)

  • can now be set to 1 (MDEV-12061)

  • The thread pool now gives higher priority to connections that have an active transaction. This can be controlled with the new and system variables. (MDEV-10297)

  • Default value of changed to 1M (MDEV-7635)

  • Default value of changed to STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION (MDEV-7635) (MariaDB 10.2.4 and later)

  • Default value of changed to zlib - this does not mean pages are now compressed by default, see (MDEV-11838)

  • Default value of changed to ON from MariaDB 10.1.2 to MariaDB 10.1.25 (MDEV-7635 and MDEV-13247)

  • Default value of and changed to ON

  • The unused variables have been removed (MDEV-12050)

  • was added to allow one to limit the size of temporary disk tables stored in tmpdir. At the same time was added an alias for . At some point we plan to deprecate tmp_table_size. (MariaDB 10.2.7 and later).

  • Old GPL client library is gone; now MariaDB Server comes with the LGPL Connector/C client library (MDEV-9055)

  • MariaDB is no longer compiled with jemalloc

  • TokuDB is now a separate package, not part of the server RPM (because TokuDB still needs jemalloc).

  • Upgrading to a new major release no longer requires setting to 0. Omitting it can make the upgrade process a lot faster. (MDEV-12289)

  • CVE-2022-27387: MariaDB 10.2.44

  • CVE-2022-27386: MariaDB 10.2.44

  • CVE-2022-27384: MariaDB 10.2.44

  • CVE-2022-27383: MariaDB 10.2.44

  • CVE-2022-27381: MariaDB 10.2.44

  • CVE-2022-27380: MariaDB 10.2.44

  • CVE-2022-27378: MariaDB 10.2.44

  • CVE-2022-27377: MariaDB 10.2.44

  • CVE-2022-24052: MariaDB 10.2.42

  • CVE-2022-24051: MariaDB 10.2.42

  • CVE-2022-24050: MariaDB 10.2.42

  • CVE-2022-24048: MariaDB 10.2.42

  • CVE-2022-21595: MariaDB 10.2.42

  • CVE-2022-21451: MariaDB 10.2.38

  • CVE-2022-21427: MariaDB 10.2.44

  • CVE-2022-0778: MariaDB 10.2.42

  • CVE-2021-46669: MariaDB 10.2.44

  • CVE-2021-46668: MariaDB 10.2.43

  • CVE-2021-46667: MariaDB 10.2.41

  • CVE-2021-46666: MariaDB 10.2.39

  • CVE-2021-46665: MariaDB 10.2.43

  • CVE-2021-46664: MariaDB 10.2.43

  • CVE-2021-46663: MariaDB 10.2.43

  • CVE-2021-46661: MariaDB 10.2.43

  • CVE-2021-46659: MariaDB 10.2.42

  • CVE-2021-46658: MariaDB 10.2.40

  • CVE-2021-46657: MariaDB 10.2.39

  • CVE-2021-35604: MariaDB 10.2.41

  • CVE-2021-27928: MariaDB 10.2.37

  • CVE-2021-2389: MariaDB 10.2.40

  • CVE-2021-2372: MariaDB 10.2.40

  • CVE-2021-2194: MariaDB 10.2.35

  • CVE-2021-2180: MariaDB 10.2.38

  • CVE-2021-2174: MariaDB 10.2.18

  • CVE-2021-2166: MariaDB 10.2.38

  • CVE-2021-2154: MariaDB 10.2.38

  • CVE-2021-2144: MariaDB 10.2.28

  • CVE-2021-2022: MariaDB 10.2.33

  • CVE-2021-2011: MariaDB 10.2.15

  • CVE-2021-2007: MariaDB 10.2.26

  • CVE-2020-2922: MariaDB 10.2.26

  • CVE-2020-28912: MariaDB 10.2.35

  • CVE-2020-2814: MariaDB 10.2.32

  • CVE-2020-2812: MariaDB 10.2.32

  • CVE-2020-2780: MariaDB 10.2.28

  • CVE-2020-2760: MariaDB 10.2.32

  • CVE-2020-2752: MariaDB 10.2.32

  • CVE-2020-2574: MariaDB 10.2.31

  • CVE-2020-15180: MariaDB 10.2.34

  • CVE-2020-14812: MariaDB 10.2.35

  • CVE-2020-14789: MariaDB 10.2.35

  • CVE-2020-14776: MariaDB 10.2.35

  • CVE-2020-14765: MariaDB 10.2.35

  • CVE-2020-14550: MariaDB 10.2.15

  • CVE-2020-13249: MariaDB 10.2.32

  • CVE-2019-2974: MariaDB 10.2.28

  • CVE-2019-2938: MariaDB 10.2.28

  • CVE-2019-2805: MariaDB 10.2.26

  • CVE-2019-2758: MariaDB 10.2.26

  • CVE-2019-2740: MariaDB 10.2.26

  • CVE-2019-2739: MariaDB 10.2.26

  • CVE-2019-2737: MariaDB 10.2.26

  • CVE-2019-2628: MariaDB 10.2.24

  • CVE-2019-2627: MariaDB 10.2.24

  • CVE-2019-2614: MariaDB 10.2.24

  • CVE-2019-2537: MariaDB 10.2.22

  • CVE-2019-2510: MariaDB 10.2.22

  • CVE-2019-2503: MariaDB 10.2.18

  • CVE-2019-2455: MariaDB 10.2.15

  • CVE-2018-3284: MariaDB 10.2.19

  • CVE-2018-3282: MariaDB 10.2.19

  • CVE-2018-3277: MariaDB 10.2.19

  • CVE-2018-3251: MariaDB 10.2.19

  • CVE-2018-3200: MariaDB 10.2.19

  • CVE-2018-3185: MariaDB 10.2.19

  • CVE-2018-3174: MariaDB 10.2.19

  • CVE-2018-3173: MariaDB 10.2.19

  • CVE-2018-3162: MariaDB 10.2.19

  • CVE-2018-3156: MariaDB 10.2.19

  • CVE-2018-3143: MariaDB 10.2.19

  • CVE-2018-3133: MariaDB 10.2.12

  • CVE-2018-3081: MariaDB 10.2.15

  • CVE-2018-3066: MariaDB 10.2.17

  • CVE-2018-3064: MariaDB 10.2.17

  • CVE-2018-3063: MariaDB 10.2.17

  • CVE-2018-3060: MariaDB 10.2.17

  • CVE-2018-3058: MariaDB 10.2.17

  • CVE-2018-2819: MariaDB 10.2.15

  • CVE-2018-2817: MariaDB 10.2.15

  • CVE-2018-2813: MariaDB 10.2.15

  • CVE-2018-2810: MariaDB 10.2.15

  • CVE-2018-2787: MariaDB 10.2.15

  • CVE-2018-2786: MariaDB 10.2.15

  • CVE-2018-2784: MariaDB 10.2.15

  • CVE-2018-2782: MariaDB 10.2.15

  • CVE-2018-2781: MariaDB 10.2.15

  • CVE-2018-2777: MariaDB 10.2.15

  • CVE-2018-2771: MariaDB 10.2.15

  • CVE-2018-2767: MariaDB 10.2.15

  • CVE-2018-2766: MariaDB 10.2.15

  • CVE-2018-2761: MariaDB 10.2.15

  • CVE-2018-2759: MariaDB 10.2.15

  • CVE-2018-2755: MariaDB 10.2.15

  • CVE-2018-2668: MariaDB 10.2.13

  • CVE-2018-2665: MariaDB 10.2.13

  • CVE-2018-2640: MariaDB 10.2.13

  • CVE-2018-2622: MariaDB 10.2.13

  • CVE-2018-2612: MariaDB 10.2.13

  • CVE-2018-2562: MariaDB 10.2.13

  • CVE-2017-3653: MariaDB 10.2.8

  • CVE-2017-3641: MariaDB 10.2.8

  • CVE-2017-3636: MariaDB 10.2.8

  • CVE-2017-3464: MariaDB 10.2.6

  • CVE-2017-3456: MariaDB 10.2.6

  • CVE-2017-3453: MariaDB 10.2.6

  • CVE-2017-3313: MariaDB 10.2.5

  • CVE-2017-3309: MariaDB 10.2.6

  • CVE-2017-3308: MariaDB 10.2.6

  • CVE-2017-3302: MariaDB 10.2.5

  • CVE-2017-3257: MariaDB 10.2.8

  • CVE-2017-15365: MariaDB 10.2.10

  • CVE-2017-10384: MariaDB 10.2.8

  • CVE-2017-10379: MariaDB 10.2.8

  • CVE-2017-10378: MariaDB 10.2.10

  • CVE-2017-10365: MariaDB 10.2.8

  • CVE-2017-10320: MariaDB 10.2.8

  • CVE-2017-10286: MariaDB 10.2.8

  • CVE-2017-10268: MariaDB 10.2.10

  • CVE-2016-9843: MariaDB 10.2.19

  • Function Differences Between MariaDB 10.2 and MySQL 5.6

    Stable (GA)

    8 Nov 2021

    Stable (GA)

    6 Aug 2021

    Stable (GA)

    23 Jun 2021

    Stable (GA)

    7 May 2021

    Stable (GA)

    22 Feb 2021

    Stable (GA)

    11 Nov 2020

    Stable (GA)

    3 Nov 2020

    Stable (GA)

    7 Oct 2020

    Stable (GA)

    10 Aug 2020

    Stable (GA)

    12 May 2020

    Stable (GA)

    28 Jan 2020

    Stable (GA)

    11 Dec 2019

    Stable (GA)

    8 Nov 2019

    Stable (GA)

    5 Nov 2019

    Stable (GA)

    11 Sep 2019

    Stable (GA)

    31 Jul 2019

    Stable (GA)

    17 Jun 2019

    Stable (GA)

    9 May 2019

    Stable (GA)

    25 Mar 2019

    Stable (GA)

    11 Feb 2019

    Stable (GA)

    2 Jan 2019

    Stable (GA)

    24 Dec 2018

    Stable (GA)

    19 Nov 2018

    Stable (GA)

    25 Sep 2018

    Stable (GA)

    14 Aug 2018

    Stable (GA)

    26 Jun 2018

    Stable (GA)

    17 May 2018

    Stable (GA)

    27 Mar 2018

    Stable (GA)

    13 Feb 2018

    Stable (GA)

    4 Jan 2018

    Stable (GA)

    28 Nov 2017

    Stable (GA)

    31 Oct 2017

    Stable (GA)

    27 Sep 2017

    Stable (GA)

    18 Aug 2017

    Stable (GA)

    12 Jul 2017

    Stable (GA)

    23 May 2017

    Stable (GA)

    5 Apr 2017

    RC

    17 Feb 2017

    RC

    24 Dec 2016

    Beta

    27 Sep 2016

    Beta

    4 Jul 2016

    Alpha

    18 Apr 2016

    Alpha

    20 May 2022

    MariaDB 10.2.44

    Stable (GA)

    Release Notes

    Changelog

    12 Feb 2022

    MariaDB 10.2.43

    Stable (GA)

    Release Notes

    Changelog

    MariaDB 10.1
    MariaDB 10.2
    maturity level
    MariaDB 10.2.14
    MDEV-9658
    MDEV-6112
    MDEV-10915
    MDEV-10570
    MDEV-11064
    MDEV-7145
    MDEV-9143
    MDEV-11042
    MDEV-7331
    MDEV-13132
    MDEV-9255
    MDEV-9652
    commit 2078392
    MDEV-6150
    MDEV-9197
    MDEV-7901
    MDEV-9872
    MDEV-9711
    MDEV-11170
    MDEV-11295
    MDEV-9765
    MDEV-8542
    MDEV-8713
    MDEV-7376
    MDEV-8654
    MDEV-10332
    MDEV-6076
    MDEV-10340
    MDEV-8111
    MariaDB 10.2
    CVE-2022-32088
    MariaDB 10.2.44
    CVE-2022-32083
    MariaDB 10.2.44
    CVE-2022-31624
    MariaDB 10.2.41
    CVE-2022-27445
    MariaDB 10.2.44
    Incompatibilities and Feature Differences Between MariaDB 10.2 and MySQL 5.7
    System Variable Differences Between MariaDB 10.2 and MySQL 5.7
    Function Differences Between MariaDB 10.2 and MySQL 5.7
    System Variable Differences Between MariaDB 10.2 and MySQL 5.6
    MariaDB 10.2
    10.2 Features/fixes by vote (JIRA)

    9 Feb 2022

    MDEV-11065
    MDEV-8646
    MDEV-7982
    MDEV-8857
    MDEV-7885
    MDEV-326
    MDEV-7780
    MariaDB 10.2.42
    Release Notes
    Changelog
    MariaDB 10.2.41
    Release Notes
    Changelog
    MariaDB 10.2.40
    Release Notes
    Changelog
    MariaDB 10.2.39
    Release Notes
    Changelog
    MariaDB 10.2.38
    Release Notes
    Changelog
    MariaDB 10.2.37
    Release Notes
    Changelog
    MariaDB 10.2.36
    Release Notes
    Changelog
    MariaDB 10.2.35
    Release Notes
    Changelog
    MariaDB 10.2.34
    Release Notes
    Changelog
    MariaDB 10.2.33
    Release Notes
    Changelog
    MariaDB 10.2.32
    Release Notes
    Changelog
    MariaDB 10.2.31
    Release Notes
    Changelog
    MariaDB 10.2.30
    Release Notes
    Changelog
    MariaDB 10.2.29
    Release Notes
    Changelog
    MariaDB 10.2.28
    Release Notes
    Changelog
    MariaDB 10.2.27
    Release Notes
    Changelog
    MariaDB 10.2.26
    Release Notes
    Changelog
    MariaDB 10.2.25
    Release Notes
    Changelog
    MariaDB 10.2.24
    Release Notes
    Changelog
    MariaDB 10.2.23
    Release Notes
    Changelog
    MariaDB 10.2.22
    Release Notes
    Changelog
    MariaDB 10.2.21
    Release Notes
    Changelog
    MariaDB 10.2.20
    Release Notes
    Changelog
    MariaDB 10.2.19
    Release Notes
    Changelog
    MariaDB 10.2.18
    Release Notes
    Changelog
    MariaDB 10.2.17
    Release Notes
    Changelog
    MariaDB 10.2.16
    Release Notes
    Changelog
    MariaDB 10.2.15
    Release Notes
    Changelog
    MariaDB 10.2.14
    Release Notes
    Changelog
    MariaDB 10.2.13
    Release Notes
    Changelog
    MariaDB 10.2.12
    Release Notes
    Changelog
    MariaDB 10.2.11
    Release Notes
    Changelog
    MariaDB 10.2.10
    Release Notes
    Changelog
    MariaDB 10.2.9
    Release Notes
    Changelog
    MariaDB 10.2.8
    Release Notes
    Changelog
    MariaDB 10.2.7
    Release Notes
    Changelog
    MariaDB 10.2.6
    Release Notes
    Changelog
    MariaDB 10.2.5
    Release Notes
    Changelog
    MariaDB 10.2.4
    Release Notes
    Changelog
    MariaDB 10.2.3
    Release Notes
    Changelog
    MariaDB 10.2.2
    Release Notes
    Changelog
    MariaDB 10.2.1
    Release Notes
    Changelog
    MariaDB 10.2.0
    Release Notes
    Changelog

    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 page.

    Distributions which Include MariaDB
    Upgrading from MariaDB 10.1 to 10.2
    InnoDB
    Why does MariaDB 10.2 use InnoDB instead of XtraDB?
    MyRocks
    Window functions
    SHOW CREATE USER
    CREATE USER
    TokuDB
    SQL_MODE
    binlog_checksum
    reserved words
    triggers
    CREATE TRIGGER
    SHOW TRIGGERS
    SHOW CREATE TRIGGER
    flashback
    read_binlog_speed_limit
    Delayed replication
    Compression of events in the binary log
    JSON data type
    JSON functions
    ST_AsGeoJSON
    ST_GeomFromGeoJSON
    Information Schema USER_VARIABLES Table
    Information Schema COLUMNS
    generated (virtual, or computed)
    EXPLAIN FORMAT=JSON
    EXPLAIN FORMAT=JSON
    condition-pushdown-into-derived-table-optimization
    ANALYZE TABLE
    NO PAD collations
    Zipped File Tables
    JDBC Table type
    System Variables Added in MariaDB 10.2
    innodb_deadlock_detect
    aria_recover
    aria_recover_options
    aria_recover
    myisam_recover_options
    Status Variables Added in MariaDB 10.2
    mysqlbinlog
    mysql_zap
    AUTO_INCREMENT
    Security Vulnerabilities Fixed in MariaDB
    Getting, Installing, and Upgrading MariaDB
    ALTER USER
    Non-recursive Common Table Expressions
    Recursive Common Table Expressions
    WITH
    CHECK CONSTRAINT
    DEFAULT with expressions
    BLOB and TEXT
    DEFAULT
    Virtual computed columns
    DECIMAL
    EXECUTE IMMEDIATE
    PREPARE Statement
    spatial indexes
    ed25519 authentication plugin
    AWS Key Management plugin
    Atomic writes support made more general
    binary log format
    replicate_annotate_row_events
    slave_net_timeout
    server_id
    version string
    slave_parallel_workers
    com_alter_user
    com_multi
    com_show_create_user
    innodb_tmpdir
    read_binlog_speed_limit
    innodb_log_files_in_group
    thread_pool_prio_kickup_timer
    thread_pool_priority
    group_concat_max_len
    sql_mode
    innodb_compression_algorithm
    compression
    innodb_log_compressed_pages
    innodb_use_atomic_writes
    innodb_use_trim
    innodb_api_*
    tmp_disk_table_size
    tmp_memory_table_size
    tmp_table_size
    innodb_fast_shutdown

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