Learn about upgrading to unmaintained MariaDB Server releases. This section provides information on potential risks and considerations when working with older, unsupported versions.
This page includes details for upgrading from MariaDB 11.2 to MariaDB 11.3. Note that MariaDB 11.2 is a short-term release, only maintained for one year. MariaDB 11.3 is a rolling release, after 11.3.2 one should upgrade to 11.4.2.
For Windows, see Upgrading MariaDB on Windows.
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 mariadb-backup.
The suggested upgrade procedure is:
Modify the repository configuration, so the system's package manager installs MariaDB 11.3. 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.
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
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.
Run mariadb-upgrade.
mariadb-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 .
On most servers upgrading from 11.2 should be painless. However, there are some things that have changed which could affect an upgrade:
autocommit, character_set_client, character_set_connection, character_set_results, time_zone
autocommit, character_set_client, character_set_connection, character_set_results, redirect_url, time_zone
The following options should be removed or renamed if you use them in your option files:
This page is licensed: CC BY-SA / Gnu FDL
This page includes details for upgrading from MariaDB 11.1 to MariaDB 11.2. Note that MariaDB 11.1 and MariaDB 11.2 are both short-term releases, only maintained for one year.
For Windows, see Upgrading MariaDB on Windows.
For MariaDB Galera Cluster, see Upgrading from MariaDB 10.6 to MariaDB 10.7 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 mariadb-backup.
The suggested upgrade procedure is:
Modify the repository configuration, so the system's package manager installs MariaDB 11.2. 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.
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
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.
Run mariadb-upgrade.
mariadb-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 .
On most servers upgrading from 11.1 should be painless. However, there are some things that have changed which could affect an upgrade:
The following options should be removed or renamed if you use them in your option files:
Superceded by alter_algorithm.
The following options have been deprecated. They have not yet been removed, but will be in a future version, and should ideally no longer be used.
The motivation for introducing this in MySQL seems to have been to avoid stalls due to freeing undo log pages or truncating undo log tablespaces. In MariaDB, innodb_undo_log_truncate=ON should be a much lighter operation because it will not involve any log checkpoint, hence this is deprecated and ignored
This page is licensed: CC BY-SA / Gnu FDL
This page includes details for upgrading from MariaDB 11.0 to MariaDB 11.1. Note that MariaDB 11.0 and MariaDB 11.1 are both short-term releases, only maintained for one year.
For Windows, see Upgrading MariaDB on Windows.
For MariaDB Galera Cluster, see Upgrading from MariaDB 10.6 to MariaDB 10.7 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 mariadb-backup.
The suggested upgrade procedure is:
Modify the repository configuration, so the system's package manager installs MariaDB 11.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.
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
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.
Run mariadb-upgrade.
mariadb-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 .
On most servers upgrading from 10.11 should be painless. However, there are some things that have changed which could affect an upgrade:
The following options should be removed or renamed if you use them in your option files:
Defragmenting InnoDB Tablespaces in this manner no longer supported.
Defragmenting InnoDB Tablespaces in this manner no longer supported.
Defragmenting InnoDB Tablespaces in this manner no longer supported.
Defragmenting InnoDB Tablespaces in this manner no longer supported.
Defragmenting InnoDB Tablespaces in this manner no longer supported.
Defragmenting InnoDB Tablespaces in this manner no longer supported.
The following options have been deprecated. They have not yet been removed, but will be in a future version, and should ideally no longer be used.
The motivation for introducing this in MySQL seems to have been to avoid stalls due to freeing undo log pages or truncating undo log tablespaces. In MariaDB, innodb_undo_log_truncate=ON should be a much lighter operation because it will not involve any log checkpoint, hence this is deprecated and ignored
Replaced with transaction_isolation to align the option and system variable.
Replaced with transaction_read_only to align the option and system variable.
This page is licensed: CC BY-SA / Gnu FDL
This page includes details for upgrading from MariaDB 10.11 to MariaDB 11.0. It is currently incomplete. Note that MariaDB 10.11 is maintained for five years, while MariaDB 11.0 is a short-term maintenance release, only maintained for one year.
For Windows, see Upgrading MariaDB on Windows.
For MariaDB Galera Cluster, see Upgrading from MariaDB 10.6 to MariaDB 10.7 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 mariadb-backup.
The suggested upgrade procedure is:
Modify the repository configuration, so the system's package manager installs MariaDB 11.0. 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.
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
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.
Run mariadb-upgrade.
mariadb-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 .
On most servers upgrading from 10.11 should be painless. However, there are some things that have changed which could affect an upgrade:
The following options should be removed or renamed if you use them in your option files:
The following options have been deprecated. They have not yet been removed, but will be in a future version, and should ideally no longer be used.
InnoDB Defragmentation is not particularly useful and causes a maintenance burden.
Has been set for many releases. Unsetting (the original InnoDB default) is no longer useful
Mapped it to 4 new boolean parameters that can be changed while the server is running
Use log_slow_filter without admin
This page is licensed: CC BY-SA / Gnu FDL
For Windows, see Upgrading MariaDB on Windows.
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 mariadb-backup.
The suggested upgrade procedure is:
Modify the repository configuration, so the system's package manager installs MariaDB 10.8. 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.
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
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.
Run mariadb-upgrade.
mariadb-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 .
On most servers upgrading from 10.7 should be painless. However, there are some things that have changed which could affect an upgrade:
The following options should be removed or renamed if you use them in your option files:
On Linux and Windows, the physical block size of the underlying storage is instead detected and used.
The following options have been deprecated. They have not yet been removed, but will be in a future version, and should ideally no longer be used.
MariaDB now deletes orphan files, so this setting should never be necessary.
You might consider using the following major new features in MariaDB 10.8:
Stored procedures already have support for the IN, OUT and INOUT parameter qualifiers. Added as well for stored functions and (IN only) cursors (MDEV-10654).
Individual columns in the index can now be explicitly sorted in the ascending or descending order. This can be useful for optimizing certain ORDER BY cases (MDEV-13756, MDEV-26938, MDEV-26939, MDEV-26996).
See also System Variables Added in MariaDB 10.8.
This page is licensed: CC BY-SA / Gnu FDL
Note that MariaDB 10.7 is only maintained for one year. MariaDB 10.6 is currently the latest long-term maintenance release.
For Windows, see Upgrading MariaDB on Windows.
For MariaDB Galera Cluster, see Upgrading from MariaDB 10.6 to MariaDB 10.7 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 mariadb-backup.
The suggested upgrade procedure is:
Modify the repository configuration, so the system's package manager installs MariaDB 10.7. 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.
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
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.
Run mariadb-upgrade.
mariadb-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 .
On most servers upgrading from 10.6 should be painless. However, there are some things that have changed which could affect an upgrade:
ROW_NUMBER is now a reserved word.
If a non-zlib compression algorithm was used in InnoDB or Mroonga before upgrading to 10.7, those tables will be unreadable until the appropriate compression library is installed. See Compression Plugins#Upgrading.
The following options should be removed or renamed if you use them in your option files:
Use wsrep_mode instead.
Use wsrep_mode instead.
This page is licensed: CC BY-SA / Gnu FDL
For Windows, see Upgrading MariaDB on Windows instead.
For MariaDB Galera Cluster, see Upgrading from MariaDB 10.3 to MariaDB 10.4 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 mariadb-backup.
The suggested upgrade procedure is:
Modify the repository configuration, so the system's package manager installs MariaDB 10.4. 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.
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
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.
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 .
On most servers upgrading from 10.3 should be painless. However, there are some things that have changed which could affect an upgrade:
The following options should be removed or renamed if you use them in your option files:
See Authentication from MariaDB 10.4 for an overview of the changes.
The unix_socket authentication plugin is now default on Unix-like systems.
TLSv1.0 is disabled by default in MariaDB 10.4. See tls_version and TLS Protocol Versions.
You might consider using the following major new features in MariaDB 10.4:
System-versioning extended with support for application-time periods.
See also System Variables Added in MariaDB 10.4.
This page is licensed: CC BY-SA / Gnu FDL
For Windows, see Upgrading MariaDB on Windows instead.
For MariaDB Galera Cluster, see Upgrading from MariaDB 10.2 to MariaDB 10.3 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 mariadb-backup.
The suggested upgrade procedure is:
Modify the repository configuration, so the system's package manager installs MariaDB 10.3. 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.
Stop MariaDB. The server should be cleanly shut down, with no incomplete transactions remaining. innodb_fast_shutdown must be set to 0
or 1
and innodb_force_recovery must be less than 3
.
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
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.
Run mysql_upgrade.
mysql_upgrade
does two things:
Ensures that the system tables in the [mysq](../../../../reference/sql-statements-and-structure/sql-statements/administrative-sql-statements/system-tables/the-mysql-database-tables/README.md)l
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 .
On most servers upgrading from 10.2 should be painless. However, there are some things that have changed which could affect an upgrade:
The following options should be removed or renamed if you use them in your option files:
Used in XtraDB-only
Used in XtraDB-only
Used in XtraDB-only
Used in XtraDB-only
Used in XtraDB-only
The InnoDB file format is now Barracuda, and the old Antelope file format is no longer supported.
No longer necessary as the Antelope InnoDB file format is no longer supported.
No longer necessary as the Antelope InnoDB file format is no longer supported.
Used in XtraDB-only
Used in XtraDB-only
Large index key prefixes were made default from MariaDB 10.2, and limiting tables to small prefixes is no longer permitted in MariaDB 10.3.
Used in XtraDB-only
Used in XtraDB-only
Used in XtraDB-only
Used in XtraDB-only
Used in XtraDB-only
Translated to innodb_log_checksums (NONE to OFF, everything else to ON); only existed to allow easier upgrade from earlier XtraDB versions.
Replaced by the innodb_page_cleaners system variable.
Used in XtraDB-only
Used in XtraDB-only
Used in XtraDB-only
XA transactions are always supported.
Used in XtraDB-only
Replaced by the innodb_page_cleaners system variable.
Used in XtraDB-only
New reserved words: EXCEPT and INTERSECT. These can no longer be used as identifiers without being quoted.
MariaDB 10.3 has introduced major new Oracle compatibility features. If you upgrade and are using this setting, please check the changes carefully.
As a result of implementing Table Value Constructors, the VALUES function has been renamed to VALUE().
Functions that used to only return 64-bit now can return 32-bit results (MDEV-12619). This could cause incompatibilities with strongly-typed clients.
mysqldump in MariaDB 10.3 includes logic to cater for the mysql.transaction_registry table. mysqldump
from an earlier MariaDB release cannot be used on MariaDB 10.3 and beyond.
Percona XtraBackup is not compatible with MariaDB 10.3. Installations currently using XtraBackup should upgrade to MariaDB Backup before upgrading to MariaDB 10.3.
If a user has the SUPER privilege but not the DELETE HISTORY
privilege, running mysql_upgrade will grant DELETE HISTORY
as well.
You might consider using the following major new features in MariaDB 10.3:
See also System Variables Added in MariaDB 10.3.
This page is licensed: CC BY-SA / Gnu FDL
For Windows, see Upgrading MariaDB on Windows instead.
For MariaDB Galera Cluster, see Upgrading from MariaDB 10.1 to MariaDB 10.2 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 mariadb-backup.
The suggested upgrade procedure is:
Modify the repository configuration, so the system's package manager installs MariaDB 10.2. 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 to 0
. It can be changed dynamically with SET GLOBAL. For example:SET GLOBAL innodb_fast_shutdown=0;
This step is not necessary when upgrading to MariaDB 10.2.5 or later. Omitting it can make the upgrade process far faster. See MDEV-12289 for more information.
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
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.
Run mysql_upgrade.
mysql_upgrade
does two things:
Ensures that the system tables in the [mysq](../../../../reference/sql-statements-and-structure/sql-statements/administrative-sql-statements/system-tables/the-mysql-database-tables/README.md)l
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 .
On most servers upgrading from 10.1 should be painless. However, there are some things that have changed which could affect an upgrade:
MariaDB 10.2 uses InnoDB as the default storage engine, rather than XtraDB, used in MariaDB 10.1 and before. See Why does MariaDB 10.2 use InnoDB instead of XtraDB? In most cases this should have minimal effect as the latest InnoDB has incorporated most of the improvements made in earlier versions of XtraDB. Note that certain XtraDB system variables are now ignored (although they still exist so as to permit easy upgrading).
In particular, take note of the changes to innodb_strict_mode, sql_mode, binlog_format, binlog_checksum and innodb_checksum_algorithm.
NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
STRICT_TRANS_TABLES, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
The following options should be removed or renamed if you use them in your option files:
aria_recover
Renamed to aria_recover_options to match myisam_recover_options.
Deprecated in MariaDB 10.0.
Memcache never implemented in MariaDB.
Memcache never implemented in MariaDB.
Memcache never implemented in MariaDB.
Memcache never implemented in MariaDB.
[
innodb_api_trx_level](../../../../reference/storage-engines/innodb/innodb-system-variables.md)
Deprecated in MariaDB 10.0.
New reserved words: OVER, RECURSIVE and ROWS. These can no longer be used as identifiers without being quoted.
TokuDB has been split into a separate package, mariadb-plugin-tokudb.
Replication from legacy MySQL servers may require setting binlog_checksum to NONE.
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.
Auto_increment columns are no longer permitted in CHECK constraints, DEFAULT value expressions and virtual columns. They were permitted in earlier versions, but did not work correctly.
Starting with MariaDB 10.2, when the user specifies the --ssl
option with a client or utility, the client or utility will not verify the server certificate by default. In order to verify the server certificate, the user must specify the --ssl-verify-server-cert
option to the client or utility. For more information, see the list of options for the mysql client.
You might consider using the following major new features in MariaDB 10.2:
mysqlbinlog now supports continuous binary log backups
See also System Variables Added in MariaDB 10.2.
This page is licensed: CC BY-SA / Gnu FDL
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.
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 to 0
. It can be changed dynamically with SET GLOBAL. For example:SET GLOBAL innodb_fast_shutdown=0;
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
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.
Run mysql_upgrade.
mysql_upgrade
does two things:
Ensures that the system tables in the [mysq](../../../../reference/sql-statements-and-structure/sql-statements/administrative-sql-statements/system-tables/the-mysql-database-tables/README.md)l
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 .
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:
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.
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.
Most of the following options have increased in value to give better performance.
The following options should be removed or renamed if you use them in your config files:
Unused in 10.0
Note that explicit or implicit casts from MAX(string) to INT, DOUBLE or DECIMAL now produce warnings (MDEV-8852).
You might consider using the following major new features in MariaDB 10.1:
Galera Cluster is now included by default.
This page is licensed: CC BY-SA / Gnu FDL
There are no changes in table or index formats between MariaDB 5.3 and MariaDB 5.5, so on most servers the upgrade should be painless.
The suggested upgrade procedure is:
For Windows, see Upgrading MariaDB on Windows instead.
Shutdown MariaDB 5.3
Take a backup (this is the perfect time to take a backup of your databases)
Uninstall MariaDB 5.3
Install MariaDB 5.5 [1]
Run mysql_upgrade
Ubuntu and Debian packages do this automatically when they are installed; Red Hat, CentOS, and Fedora packages do not
mysql_upgrade
does two things:
Upgrades the permission tables in the mysql
database with some new fields
Does a very quick check of all tables and marks them as compatible with MariaDB 5.5
In most cases this should be a fast operation (depending of course on the number of tables)
Add new options to my.cnf to enable features
If you change my.cnf
then you need to restart mysqld
As mentioned previously, on most servers upgrading from 5.5 should be painless. However, there are some things that have changed which could affect an upgrade:
Percona, the provider of XtraDB, does not provide all earlier XtraDB features in the 5.5 code base. Because of that, MariaDB 5.5 can't provide them either. The following options are not supported by XtraDB 5.5. If you are using them in any of your my.cnf files, you should remove them before upgrading to 5.5.
innodb_adaptive_checkpoint; Use innodb_adaptive_flushing_method instead.
innodb_auto_lru_dump; Use innodb_buffer_pool_restore_at_startup instead (and innodb_buffer_pool_load_at_startup in MariaDB 10.0).
innodb_expand_import; Use innodb_import_table_from_xtrabackup instead.
innodb_extra_rsegments; Use innodb_rollback_segments instead.
innodb_pass_corrupt_table; Use innodb_corrupt_table_action instead.
↑ If using a MariaDB apt
or yum
repository, it is often enough to replace instances of '5.3' with '5.5' and then run an update/upgrade. For example, in Ubuntu/Debian update the MariaDB sources.list
entry from something that looks similar to this:
deb http://ftp.osuosl.org/pub/mariadb/repo/5.3/ubuntu trusty main
To something like this:
deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu trusty main
And then run
apt-get update && apt-get upgrade
And in Red Hat, CentOS, and Fedora, change the baseurl
line from something that looks like this:
baseurl = http://yum.mariadb.org/5.3/centos6-amd64
To something that looks like this:
baseurl = http://yum.mariadb.org/5.5/centos6-amd64
And then run
yum update
This page is licensed: CC BY-SA / Gnu FDL