Upgrading from MariaDB 10.11 to MariaDB 11.4
Contents
This page includes details for upgrading from MariaDB 10.11 to the subsequent long-term maintenance version, MariaDB 11.4.
How to Upgrade
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 Mariabackup.
The suggested upgrade procedure is:
- Modify the repository configuration, so the system's package manager installs MariaDB 11.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.
- 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 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 .
Incompatible Changes Between 10.11 and 11.4
On most servers upgrading from 10.11 should be painless. However, there are some things that have changed which could affect an upgrade:
Options That Have Been Removed or Renamed
The following options should be removed or renamed if you use them in your option files:
Option | Reason |
---|---|
innodb_defragment | Defragmenting InnoDB Tablespaces in this manner no longer supported. |
innodb_defragment_fill_factor | Defragmenting InnoDB Tablespaces in this manner no longer supported. |
innodb_defragment_fill_factor_n_recs | Defragmenting InnoDB Tablespaces in this manner no longer supported. |
innodb_defragment_frequency | Defragmenting InnoDB Tablespaces in this manner no longer supported. |
innodb_defragment_n_pages | Defragmenting InnoDB Tablespaces in this manner no longer supported. |
innodb_defragment_stats_accuracy | Defragmenting InnoDB Tablespaces in this manner no longer supported. |
Options That Have Changed Default Values
Option | Old default | New default |
---|---|---|
optimizer_switch | See optimizer-switch. | |
innodb_purge_batch_size | 300 | 1000 |
Options That Have Been Removed or Renamed
The following options should be removed or renamed if you use them in your option files:
Option | Reason |
---|---|
old_alter_table | Superceded by alter_algorithm. |
Deprecated Options
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.
Option | Reason |
---|---|
innodb_purge_rseg_truncate_frequency | 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 |
tx_isolation | Replaced with transaction_isolation to align the option and system variable. |
tx_read_only | Replaced with transaction_read_only to align the option and system variable. |