MariaDB 10.2 is a previous major stable version. The first stable release was in May 2017, and it will be supported until May 2022.

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

The following lists the major new features in MariaDB 10.2:

Implemented Features

InnoDB as Default

InnoDB is now the default storage engine. Until MariaDB 10.1, 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 MariaDB 10.2. See Why does MariaDB 10.2 use InnoDB instead of XtraDB?

Syntax / General Features

Incompatible Changes

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

SQL_MODE 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 binlog_checksum to NONE.

New reserved words: OVER, RECURSIVE, and ROWS.

Triggers

Multiple triggers for the same event (MDEV-6112)

The FOLLOWS/PRECEDES clauses have been added to the CREATE TRIGGER statement

Multiple triggers are now counted in the Executed_triggers status variable (MDEV-10915)

SHOW TRIGGERS and SHOW CREATE TRIGGER now include the date and time the trigger was created

Replication / Binary Log

GeoJSON / JSON

Information Schema

EXPLAIN

EXPLAIN FORMAT=JSON now shows outer_ref_condition field which contains the condition that the(?) SELECT checks on each re-execution (MDEV-9652)

field which contains the condition that the(?) SELECT checks on each re-execution (MDEV-9652) EXPLAN FORMAT=JSON now shows sort_key field which shows the sort criteria used by filesort operation. (commit 2078392)

field which shows the sort criteria used by operation. (commit 2078392) EXPLAIN used to show incorrect information about how the optimizer resolved ORDER BY clause or Distinct . This was a long-standing problem with roots back in MySQL. Now, after MDEV-8646 and related fixes, the problem doesn't exist anymore. (For test cases, see MDEV-7982, MDEV-8857, MDEV-7885, MDEV-326)

Optimizations

Connection setup was made faster by moving creation of THD to new thread (MDEV-6150)

Pushdown conditions into non-mergeable views/derived tables (MDEV-9197, condition-pushdown-into-derived-table-optimization ) — Original code from Galina Shalygina

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

Internal CRC32 routines use the optimized implementation on Power8 — MDEV-9872

Table cache can automatically partition itself as needed to reduce the contention (MDEV-10296)

Compatibility

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

collations, end spaces are significant in comparisons (MDEV-9711) MariaDB now works when started with a MySQL 5.7.6+ data directory (MDEV-11170)

CONNECT

System Variables

For a list of all new system variables, see System Variables Added in MariaDB 10.2. Variable changes include:

Status Variables

For a list of all new status variables, see Status Variables Added in MariaDB 10.2.

Scripts

Continuous binary log backup has been added to mysqlbinlog (MDEV-8713)

mysql_zap and mysqlbug have been removed (MDEV-7376, MDEV-8654)

Other Changes

Added support for OpenSSL 1.1 and LibreSSL (MDEV-10332)

Persistent AUTO_INCREMENT for InnoDB (MDEV-6076)

Support COM_RESET_CONNECTION (MDEV-10340)

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

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 innodb_fast_shutdown to 0 . Omitting it can make the upgrade process a lot faster. (MDEV-12289)

Comparison with MySQL

List of All MariaDB 10.2 Releases

See Also