Upgrading from MariaDB 10.0 to MariaDB 10.1
Contents
What You Need to Know
There are no changes in table or index formats between MariaDB 10.0 and MariaDB 10.1, so on most servers the upgrade should be painless.
How to Upgrade
For Windows, see Upgrading MariaDB on Windows instead.
For MariaDB Galera Cluster, see Upgrading from MariaDB Galera Cluster 10.0 to MariaDB 10.1 with Galera Cluster instead.
Before you upgrade, it would be best to take a backup of your database. This is always a good idea to do before an upgrade. We would recommend Percona XtraBackup.
The suggested upgrade procedure is:
- Modify the repository configuration, so the system's package manager installs MariaDB 10.1. For example,
- On Debian, Ubuntu, and other similar Linux distributions, see Updating the MariaDB APT repository to a New Major Release for more information.
- On RHEL, CentOS, Fedora, and other similar Linux distributions, see Updating the MariaDB YUM repository to a New Major Release for more information.
- On SLES, OpenSUSE, and other similar Linux distributions, see Updating the MariaDB ZYpp repository to a New Major Release for more information.
- Set
innodb_fast_shutdown
to0
. It can be changed dynamically withSET GLOBAL
. For example:
SET GLOBAL innodb_fast_shutdown=0;
- Stop MariaDB.
- Uninstall the old version of MariaDB.
- On Debian, Ubuntu, and other similar Linux distributions, execute the following:
sudo apt-get remove mariadb-server
- On RHEL, CentOS, Fedora, and other similar Linux distributions, execute the following:
sudo yum remove MariaDB-server
- On SLES, OpenSUSE, and other similar Linux distributions, execute the following:
sudo zypper remove MariaDB-server
- On Debian, Ubuntu, and other similar Linux distributions, execute the following:
- Install the new version of MariaDB.
- On Debian, Ubuntu, and other similar Linux distributions, see Installing MariaDB Packages with APT for more information.
- On RHEL, CentOS, Fedora, and other similar Linux distributions, see Installing MariaDB Packages with YUM for more information.
- On SLES, OpenSUSE, and other similar Linux distributions, see Installing MariaDB Packages with ZYpp for more information.
- Make any desired changes to configuration options in option files, such as
my.cnf
. This includes removing any options that are no longer supported. - Start MariaDB.
- Run
mysql_upgrade
.mysql_upgrade
does two things:- Ensures that the system tables in the
mysql
database are fully compatible with the new version. - Does a very quick check of all tables and marks them as compatible with the new version of MariaDB .
- Ensures that the system tables in the
Incompatible Changes Between 10.0 and 10.1
As mentioned previously, on most servers upgrading from 10.0 should be painless. However, there are some things that have changed which could affect an upgrade:
Storage Engines
- The ARCHIVE storage engine is no longer enabled by default, and the plugin needs to be specifically enabled.
- The BLACKHOLE storage engine is no longer enabled by default, and the plugin needs to be specifically enabled.
Replication
- MariaDB 10.1 introduces new, standards-compliant behavior for dealing with primary keys over nullable columns. In certain edge cases this could cause replication issues when replicating from a MariaDB 10.0 master to a MariaDB 10.1 slave using statement-based replication. See MDEV-12248.
Options That Have Changed Default Values
Most of the following options have increased in value to give better performance.
Option | Old default value | New default value |
---|---|---|
innodb_log_compressed_pages | ON | OFF |
join_buffer_size | 128K | 256K |
max_allowed_packet | 1M | 4M |
query_alloc_block_size | 8192 | 16384 |
query_cache_size | 0 | 1M |
query_cache_type | ON | OFF |
sync_master_info | 0 | 10000 |
sync_relay_log | 0 | 10000 |
sync_relay_log_info | 0 | 10000 |
query_prealloc_size | 8192 | 24576 |
secure_auth | OFF | ON |
sql_log_bin | No longer affects replication of events in a Galera cluster. | |
sql_mode | empty | NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION |
table_open_cache | 400 | 2000 |
thread_pool_max_threads | 500 | 1000 |
Options That Have Been Removed or Renamed
The following options should be removed or renamed if you use them in your config files:
Option | Reason |
---|---|
rpl_recovery_rank | Unused in 10.0 |
Other Issues
Note that explicit or implicit casts from MAX(string) to INT, DOUBLE or DECIMAL now produce warnings (MDEV-8852).
Major New Features To Consider
You might consider using the following major new features in MariaDB 10.1:
- Galera Cluster is now included by default.
- Encryption
- InnoDB/XtraDB Page Compression