Opened 9 years ago

Closed 9 years ago

#7030 closed enhancement (fixed)

mariadb-10.1.8: this is the first stable release for the new 10.1 series

Reported by: Fernando de Oliveira Owned by: bdubbs@…
Priority: high Milestone: 7.9
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

This series is claimed to improve security, so, will choose to classify as "high".

However, I couldn't decide if it should be "hold" or not. Think that only doing the update and testing the dependent packages will demonstrate that, but I may be wrong.

https://downloads.mariadb.org/interstitial/mariadb-10.1.8/source/mariadb-10.1.8.tar.gz

or

ftp://mirrors.fe.up.pt/pub/mariadb/mariadb-10.1.8/source/mariadb-10.1.8.tar.gz

ftp://mirrors.fe.up.pt/pub/mariadb/mariadb-10.1.8/source/mariadb-10.1.8.tar.gz.asc

ftp://mirrors.fe.up.pt/pub/mariadb/mariadb-10.1.8/source/md5sums.txt

md5sum: 9ba0aaabba40153d83e70edcc1aa43a8

ftp://mirrors.fe.up.pt/pub/mariadb/mariadb-10.1.8/source/md5sums.txt.asc

Announcing stability of the 10.1 series:

https://blog.mariadb.org/mariadb-10-1-is-stable-ga/

MariaDB 10.1 is stable GA
Posted on 17 Oct 2015 by rasmus	| Leave a reply	

With the release of 10.1.8, MariaDB takes a next step. MariaDB 10.1 is
now considered a stable release.

MariaDB 10.1 has a couple of main themes:

 • Security
 • High Availability
 • Scalability

During the last few years there have been many request for more security
features in MariaDB. Actually it’s a trend in general. Since open source
software is getting more attractive all the time, more functionality is
wanted in areas where proprietary software typically has been leading.
This is especially true for databases. In addition data privacy is a
very hot topic.

The big new thing in security for MariaDB 10.1 is a complete data at
rest encryption solution. The encryption that now is in use originates
from Google’s encryption patch. It has now been migrated into MariaDB
10.1. The solution is fairly advanced, encrypting the actual data files
on disk of course, but also all other places where data touches disk
like the binlog in replication. It also introduces the concept of
rolling encryption keys, where keys can be set to expire at some certain
intervals causing data to be re-encrypted with new keys and becoming
inaccessible with the old keys.

In addition to encryption, 10.1 also includes other security aspects
like password validation with which one can define a scheme, for example
with the popular cracklib library, against which new passwords are
validated.

On the High Availability front there is a significant change. In 5.5 and
10.0 there are separate versions of MariaDB and MariaDB Galera Cluster.
In 10.1 this has changed. There is only one MariaDB 10.1. It includes
the cluster capabilities and they can just be switched on whenever
needed.

In regards of scalability there are multiple aspects. On one hand the
parallel slave replication introduced in MariaDB 10.0 is now further
improved into what is called optimistic parallel replication. Very much
simplified, this means that any INSERT/UPDATE/DELETE can be applied in
parallel on the slave (even it wasn’t on the master) which in most cases
will result in a performance gain.

When it comes to replication there is another very important
compatibility aspect added to 10.1. MariaDB can now be a slave to MySQL
5.6 (or greater) also when MySQL 5.6 is configured to use GTID. This has
been a highly voted feature request since users wants to be able to test
MariaDB as part of their MySQL deployment. When migrating to MariaDB
this functionality is also essential.

Another important aspect of scalability is that 10.1 includes a lot of
performance improvements to perform better on CPUs with more processing
power and more cores. Also on the disk IO side there are several
improvements like page compression and defragmentation. Defragmentation
is based on the patch developed first by Facebook and then further
developed by Kakao Corp.

There are a lot of other new capabilities and improvements in MariaDB
10.1, like supporting new spatial reference systems and outputting
explains in JSON. To get a complete list of new functionality please
refer to the “What is MariaDB 10.1?” page.

Most important of all, go download MariaDB 10.1.8, install it, and start
putting your workloads on it. Stay in contact with us by filing any
findings that you think are wrong in Jira. You can also reach the
developers of MariaDB on the #maria channel on Freenode IRC or email the
developers by joining the mailing list maria-developers. Do enjoy!

https://mariadb.com/kb/en/mariadb/mariadb-1018-release-notes/

MariaDB 10.1.8 Release Notes

Release date: 17 Oct 2015

MariaDB 10.1 is the current stable series of MariaDB. It is an evolution
of MariaDB 10.0 with several entirely new features not found anywhere
else and with backported and reimplemented features from MySQL 5.6 and
5.7.

The release notes here only document changes from the previous version
of MariaDB 10.1. For a complete overview of MariaDB 10.1 see the What is
MariaDB 10.1? page [partially reproduced below].

Thanks, and enjoy MariaDB!

Notable Changes

 • systemd support has been added for those distributions that support
   it. 

 • For CSV tables, the IETF_QUOTES option enables IETF-compatible
   parsing of embedded quote and comma characters (MDEV-8682). 

 • wsrep_node_address now supports IPv6 (MDEV-8034). 

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

 • Replication from MySQL 5.6 with GTID, binlog_rows_query_log_events
   and ignorable events now works. In this case MariaDB will remove the
   MySQL GTIDs and other unneeded events and instead adds its own GTIDs. 

For a complete list of changes made in MariaDB 10.1.8, with links to
detailed information on each push, see the changelog.

For a complete change log of this version, see:

https://mariadb.com/kb/en/mariadb/mariadb-1018-changelog/

For a description of previous changes for the new 10.1 series, you would need to see the Release Notes for the individual releases 10.1.0-10.1.7. Probably, many are in the following:

https://mariadb.com/kb/en/mariadb/what-is-mariadb-101/

What is MariaDB 10.1?

The most recent release of MariaDB 10.1 is:
MariaDB 10.1.8 Stable (GA)

The following lists the major new features in MariaDB 10.1:

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. 

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

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) 

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) 

Roles

 • SET DEFAULT ROLE (MDEV-5210).
 • New columns for the INFORMATION_SCHEMA.APPLICABLE_ROLES table. 

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

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)
 • 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. 

Security

 • For a complete list of security vulnerabilities (CVEs) fixed across
   all versions of MariaDB, see the Security Vulnerabilities Fixed in
   MariaDB page.
 • 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) 

Change History (2)

comment:1 by bdubbs@…, 9 years ago

Owner: changed from blfs-book@… to bdubbs@…
Status: newassigned

comment:2 by bdubbs@…, 9 years ago

Resolution: fixed
Status: assignedclosed

Fixed at revision 16553.

Note: See TracTickets for help on using tickets.