All pages
Powered by GitBook
1 of 12

Upgrading to Unmaintained MariaDB Versions

Learn about upgrading to unmaintained MariaDB Server releases. This section provides information on potential risks and considerations when working with older, unsupported versions.

Upgrading from MariaDB 11.2 to MariaDB 11.3

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.

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 mariadb-backup.

The suggested upgrade procedure is:

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

  1. Stop MariaDB.

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

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

  1. Make any desired changes to configuration options in option files, such as my.cnf. This includes removing any options that are no longer supported.

  2. Start MariaDB.

  3. Run mariadb-upgrade.

  • mariadb-upgrade does two things:

    1. Ensures that the system tables in the mysql database are fully compatible with the new version.

    2. Does a very quick check of all tables and marks them as compatible with the new version of MariaDB .

Incompatible Changes Between 11.2 and 11.3

On most servers upgrading from 11.2 should be painless. However, there are some things that have changed which could affect an upgrade:

Options That Have Changed Default Values

Option
Old default
New default

optimizer_switch

See optimizer-switch.

session_track_system_variables

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

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

date_format

Unused.

datetime_format

Unused.

max_tmp_tables

Unused.

time_format

Unused.

wsrep_causal_reads

Deprecated by wsrep_sync_wait=1.

See Also

  • Features in MariaDB 11.3

  • Features in MariaDB 11.2

  • Upgrading from MariaDB 10.6 to MariaDB 10.7 with Galera Cluster

  • Upgrading from MariaDB 11.1 to MariaDB 11.2

  • Upgrading from MariaDB 11.0 to MariaDB 11.1

This page is licensed: CC BY-SA / Gnu FDL

Upgrading from MariaDB 11.1 to MariaDB 11.2

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.

How to Upgrade

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:

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

  1. Stop MariaDB.

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

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

  1. Make any desired changes to configuration options in option files, such as my.cnf. This includes removing any options that are no longer supported.

  2. Start MariaDB.

  3. Run mariadb-upgrade.

  • mariadb-upgrade does two things:

    1. Ensures that the system tables in the mysql database are fully compatible with the new version.

    2. Does a very quick check of all tables and marks them as compatible with the new version of MariaDB .

Incompatible Changes Between 11.1 and 11.2

On most servers upgrading from 11.1 should be painless. However, there are some things that have changed which could affect an upgrade:

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

See Also

  • Features in MariaDB 11.2

  • Features in MariaDB 11.1

  • Upgrading from MariaDB 10.6 to MariaDB 10.7 with Galera Cluster

  • Upgrading from MariaDB 11.0 to MariaDB 11.1

  • Upgrading from MariaDB 10.11 to MariaDB 11.0

This page is licensed: CC BY-SA / Gnu FDL

Upgrading from MariaDB 11.0 to MariaDB 11.1

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.

How to Upgrade

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:

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

  1. Stop MariaDB.

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

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

  1. Make any desired changes to configuration options in option files, such as my.cnf. This includes removing any options that are no longer supported.

  2. Start MariaDB.

  3. Run mariadb-upgrade.

  • mariadb-upgrade does two things:

    1. Ensures that the system tables in the mysql database are fully compatible with the new version.

    2. Does a very quick check of all tables and marks them as compatible with the new version of MariaDB .

Incompatible Changes Between 11.0 and 11.1

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.

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.

See Also

  • Features in MariaDB 11.1

  • Features in MariaDB 11.0

  • Upgrading from MariaDB 10.6 to MariaDB 10.7 with Galera Cluster

  • Upgrading from MariaDB 10.11 to MariaDB 11.0

  • Upgrading from MariaDB 10.6 to MariaDB 10.11

This page is licensed: CC BY-SA / Gnu FDL

Upgrading from MariaDB 10.11 to MariaDB 11.0

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.

How to Upgrade

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:

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

  1. Stop MariaDB.

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

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

  1. Make any desired changes to configuration options in option files, such as my.cnf. This includes removing any options that are no longer supported.

  2. Start MariaDB.

  3. Run mariadb-upgrade.

  • mariadb-upgrade does two things:

    1. Ensures that the system tables in the mysql database are fully compatible with the new version.

    2. 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.0

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 Changed Default Values

Option
Old default
New default

innodb_undo_tablespaces

0

3

histogram_type

DOUBLE_PREC_HB

JSON_HB

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_change_buffer_max_size

InnoDB Change Buffer removed

innodb_change_buffering

InnoDB Change Buffer removed

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_defragment

InnoDB Defragmentation is not particularly useful and causes a maintenance burden.

innodb_defragment_n_pages

innodb_defragment_stats_accuracy

innodb_defragment_fill_factor_n_recs

innodb_defragment_fill_factor

innodb_defragment_frequency

innodb_file_per_table

innodb_flush_method

innodb_file_per_table

Has been set for many releases. Unsetting (the original InnoDB default) is no longer useful

innodb_flush_method

Mapped it to 4 new boolean parameters that can be changed while the server is running

log_slow_admin_statements

Use log_slow_filter without admin

See Also

  • Features in MariaDB 11.0

  • Features in MariaDB 10.11

  • Upgrading from MariaDB 10.6 to MariaDB 10.7 with Galera Cluster

  • Upgrading from MariaDB 10.6 to MariaDB 10.11

  • Upgrading from MariaDB 10.7 to MariaDB 10.8

  • Upgrading from MariaDB 10.6 to MariaDB 10.7

This page is licensed: CC BY-SA / Gnu FDL

Upgrading from MariaDB 10.7 to MariaDB 10.8

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 mariadb-backup.

The suggested upgrade procedure is:

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

  1. Stop MariaDB.

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

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

  1. Make any desired changes to configuration options in option files, such as my.cnf. This includes removing any options that are no longer supported.

  2. Start MariaDB.

  3. Run mariadb-upgrade.

  • mariadb-upgrade does two things:

    1. Ensures that the system tables in the mysql database are fully compatible with the new version.

    2. Does a very quick check of all tables and marks them as compatible with the new version of MariaDB .

Incompatible Changes Between 10.7 and 10.8

On most servers upgrading from 10.7 should be painless. However, there are some things that have changed which could affect an upgrade:

Options That Have Changed Default Values

Option
Old default value
New default value

innodb_buffer_pool_chunk_size

134217728

Autosized

spider_semi_table_lock

1

0

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_log_write_ahead_size

On Linux and Windows, the physical block size of the underlying storage is instead detected and used.

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

keep_files_on_create

MariaDB now deletes orphan files, so this setting should never be necessary.

Major New Features To Consider

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.

See Also

  • The features in MariaDB 10.8

  • Upgrading from MariaDB 10.7 to MariaDB 10.7 with Galera Cluster

  • Upgrading from MariaDB 10.6 to MariaDB 10.7

  • Upgrading from MariaDB 10.5 to MariaDB 10.6

  • Upgrading from MariaDB 10.4 to MariaDB 10.5

This page is licensed: CC BY-SA / Gnu FDL

Upgrading from MariaDB 10.6 to MariaDB 10.7

Note that MariaDB 10.7 is only maintained for one year. MariaDB 10.6 is currently the latest long-term maintenance release.

How to Upgrade

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:

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

  1. Stop MariaDB.

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

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

  1. Make any desired changes to configuration options in option files, such as my.cnf. This includes removing any options that are no longer supported.

  2. Start MariaDB.

  3. Run mariadb-upgrade.

  • mariadb-upgrade does two things:

    1. Ensures that the system tables in the mysql database are fully compatible with the new version.

    2. Does a very quick check of all tables and marks them as compatible with the new version of MariaDB .

Incompatible Changes Between 10.6 and 10.7

On most servers upgrading from 10.6 should be painless. However, there are some things that have changed which could affect an upgrade:

Reserved Words

  • ROW_NUMBER is now a reserved word.

Compression

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.

Options That Have Changed Default Values

Option
Old default
New default

spider_auto_increment_mode

-1

0

spider_bgs_first_read

-1

2

spider_bgs_mode

-1

0

spider_bgs_second_read

-1

100

spider_bka_mode

-1

1

spider_bka_table_name_type

-1

1

spider_buffer_size

-1

16000

spider_bulk_size

-1

16000

spider_bulk_update_mode

-1

0

spider_bulk_update_size

-1

16000

spider_casual_read

-1

0

spider_connect_timeout

-1

6

spider_crd_bg_mode

-1

2

spider_crd_interval

-1

51

spider_crd_mode

-1

1

spider_crd_sync

-1

0

spider_crd_type

-1

2

spider_crd_weight

-1

2

spider_delete_all_rows_type

-1

1

spider_direct_dup_insert

-1

0

spider_direct_order_limit

-1

9223372036854775807

spider_error_read_mode

-1

0

spider_error_write_mode

-1

0

spider_first_read

-1

0

spider_init_sql_alloc_size

-1

1024

spider_internal_limit

-1

9223372036854775807

spider_internal_offset

-1

0

spider_internal_optimize

-1

0

spider_internal_optimize_local

-1

0

spider_load_crd_at_startup

-1

1

spider_load_sts_at_startup

-1

1

spider_low_mem_read

-1

1

spider_max_order

-1

32767

spider_multi_split_read

-1

100

spider_net_read_timeout

-1

600

spider_net_write_timeout

-1

600

spider_quick_mode

-1

3

spider_quick_page_byte

-1

10485760

spider_quick_page_size

-1

1024

spider_read_only_mode

-1

0

spider_reset_sql_alloc

-1

1

spider_second_read

-1

0

spider_selupd_lock_mode

-1

1

spider_semi_split_read

-1

2

spider_semi_split_read_limit

-1

1

spider_semi_table_lock_connection

-1

1

spider_reset_sql_alloc

-1

1

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

wsrep_replicate_myisam

Use wsrep_mode instead.

wsrep_strict_ddl

Use wsrep_mode instead.

See Also

  • The features in MariaDB 10.7

  • Upgrading from MariaDB 10.6 to MariaDB 10.7 with Galera Cluster

  • Upgrading from MariaDB 10.5 to MariaDB 10.6

  • Upgrading from MariaDB 10.4 to MariaDB 10.5

  • Upgrading from MariaDB 10.3 to MariaDB 10.4

This page is licensed: CC BY-SA / Gnu FDL

Upgrading from MariaDB 10.3 to MariaDB 10.4

How to Upgrade

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:

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

  1. Stop MariaDB.

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

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

  1. Make any desired changes to configuration options in option files, such as my.cnf. This includes removing any options that are no longer supported.

  2. Start MariaDB.

  3. Run mysql_upgrade.

  • mysql_upgrade does two things:

    1. Ensures that the system tables in the mysql database are fully compatible with the new version.

    2. Does a very quick check of all tables and marks them as compatible with the new version of MariaDB .

Incompatible Changes Between 10.3 and 10.4

On most servers upgrading from 10.3 should be painless. However, there are some things that have changed which could affect an upgrade:

Options That Have Changed Default Values

Option
Old default value
New default value

slave_transaction_retry_errors

1213,1205

1158,1159,1160,1161,1205,1213,1429,2013,12701

wsrep_debug

OFF

NONE

wsrep_load_data_splitting

ON

OFF

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

Authentication and TLS

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

Major New Features To Consider

You might consider using the following major new features in MariaDB 10.4:

  • Galera has been upgraded from Galera 3 to Galera 4.

  • System-versioning extended with support for application-time periods.

  • User password expiry

  • Account Locking

  • See also System Variables Added in MariaDB 10.4.

See Also

  • The features in MariaDB 10.4

  • Upgrading from MariaDB 10.3 to MariaDB 10.4 with Galera Cluster

  • Upgrading from MariaDB 10.2 to MariaDB 10.3

  • Upgrading from MariaDB 10.1 to MariaDB 10.2

  • Upgrading from MariaDB 10.0 to MariaDB 10.1

This page is licensed: CC BY-SA / Gnu FDL

Upgrading from MariaDB 10.2 to MariaDB 10.3

How to Upgrade

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:

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

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

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

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

  1. Make any desired changes to configuration options in option files, such as my.cnf. This includes removing any options that are no longer supported.

  2. Start MariaDB.

  3. Run mysql_upgrade.

  • mysql_upgrade does two things:

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

    2. Does a very quick check of all tables and marks them as compatible with the new version of MariaDB .

Incompatible Changes Between 10.2 and 10.3

On most servers upgrading from 10.2 should be painless. However, there are some things that have changed which could affect an upgrade:

Options That Have Changed Default Values

Option
Old default value
New default value

innodb_flush_method

(empty)

fsync

innodb_spin_wait_delay

6

4

performance_schema_max_stage_classes

150

160

plugin_maturity

unknown

One less than the server maturity

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_buffer_pool_populate

Used in XtraDB-only

innodb_cleaner_lsn_age_factor

Used in XtraDB-only

innodb_corrupt_table_action

Used in XtraDB-only

innodb_empty_free_list_algorithm

Used in XtraDB-only

innodb_fake_changes

Used in XtraDB-only

innodb_file_format

The InnoDB file format is now Barracuda, and the old Antelope file format is no longer supported.

innodb_file_format_check

No longer necessary as the Antelope InnoDB file format is no longer supported.

innodb_file_format_max

No longer necessary as the Antelope InnoDB file format is no longer supported.

innodb_foreground_preflush

Used in XtraDB-only

innodb_instrument_semaphores

innodb_kill_idle_transaction

Used in XtraDB-only

innodb_large_prefix

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.

innodb_locking_fake_changes

Used in XtraDB-only

innodb_log_arch_dir

Used in XtraDB-only

innodb_log_arch_expire_sec

Used in XtraDB-only

innodb_log_archive

Used in XtraDB-only

innodb_log_block_size

Used in XtraDB-only

innodb_log_checksum_algorithm

Translated to innodb_log_checksums (NONE to OFF, everything else to ON); only existed to allow easier upgrade from earlier XtraDB versions.

innodb_mtflush_threads

Replaced by the innodb_page_cleaners system variable.

innodb_sched_priority_cleaner

Used in XtraDB-only

innodb_show_locks_held

Used in XtraDB-only

innodb_show_verbose_locks

Used in XtraDB-only

innodb_support_xa

XA transactions are always supported.

innodb_use_fallocate

innodb_use_global_flush_log_at_trx_commit

Used in XtraDB-only

innodb_use_mtflush

Replaced by the innodb_page_cleaners system variable.

innodb_use_stacktrace

Used in XtraDB-only

innodb_use_trim

Reserved Words

  • New reserved words: EXCEPT and INTERSECT. These can no longer be used as identifiers without being quoted.

SQL_MODE=ORACLE

  • MariaDB 10.3 has introduced major new Oracle compatibility features. If you upgrade and are using this setting, please check the changes carefully.

Functions

  • 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

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

MariaDB Backup and Percona XtraBackup

  • Percona XtraBackup is not compatible with MariaDB 10.3. Installations currently using XtraBackup should upgrade to MariaDB Backup before upgrading to MariaDB 10.3.

Privileges

  • If a user has the SUPER privilege but not the DELETE HISTORY privilege, running mysql_upgrade will grant DELETE HISTORY as well.

Major New Features To Consider

You might consider using the following major new features in MariaDB 10.3:

  • System-versioned tables

  • Sequences

  • See also System Variables Added in MariaDB 10.3.

See Also

  • The features in MariaDB 10.3

  • Upgrading from MariaDB 10.2 to MariaDB 10.3 with Galera Cluster

  • Upgrading from MariaDB 10.1 to MariaDB 10.2

  • Upgrading from MariaDB 10.0 to MariaDB 10.1

This page is licensed: CC BY-SA / Gnu FDL

Upgrading from MariaDB 10.1 to MariaDB 10.2

How to Upgrade

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:

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

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

  1. Stop MariaDB.

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

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

  1. Make any desired changes to configuration options in option files, such as my.cnf. This includes removing any options that are no longer supported.

  2. Start MariaDB.

  3. Run mysql_upgrade.

  • mysql_upgrade does two things:

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

    2. Does a very quick check of all tables and marks them as compatible with the new version of MariaDB .

Incompatible Changes Between 10.1 and 10.2

On most servers upgrading from 10.1 should be painless. However, there are some things that have changed which could affect an upgrade:

InnoDB Instead of XtraDB

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

Options That Have Changed Default Values

In particular, take note of the changes to innodb_strict_mode, sql_mode, binlog_format, binlog_checksum and innodb_checksum_algorithm.

Option
Old default value
New default value

aria_recover(_options)

NORMAL

BACKUP, QUICK

binlog_annotate_row_events

OFF

ON

binlog_checksum

NONE

CRC32

binlog_format

STATEMENT

MIXED

group_concat_max_len

1024

1048576

innodb_autoinc_lock_mode

1

2

innodb_buffer_pool_dump_at_shutdown

OFF

ON

innodb_buffer_pool_dump_pct

100

25

innodb_buffer_pool_instances

8

Varies

innodb_buffer_pool_load_at_startup

OFF

ON

innodb_checksum_algorithm

innodb

crc32

innodb_file_format

Antelope

Barracuda

innodb_large_prefix

OFF

ON

innodb_lock_schedule_algorithm

VATS

FCFS

innodb_log_compressed_pages

OFF

ON

innodb_max_dirty_pages_pct_lwm

0.001000

0

innodb_max_undo_log_size

1073741824

10485760

innodb_purge_threads

1

4

innodb_strict_mode

OFF

ON

innodb_undo_directory

.

NULL

innodb_use_atomic_writes

OFF

ON

innodb_use_trim

OFF

ON

lock_wait_timeout

31536000

86400

log_slow_admin_statements

OFF

ON

log_slow_slave_statements

OFF

ON

log_warnings

1

2

max_allowed_packet

4M

16M

max_long_data_size

4M

16M

myisam_recover_options

NORMAL

BACKUP, QUICK

optimizer_switch

See Optimizer Switch for details.

replicate_annotate_row_events

OFF

ON

server_id

0

1

slave_net_timeout

3600

60

sql_mode

NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION

STRICT_TRANS_TABLES, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION

thread_cache_size

0

Auto

thread_pool_max_threads

1000

65536

thread_stack

295936

299008

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

aria_recover

Renamed to aria_recover_options to match myisam_recover_options.

innodb_additional_mem_pool_size

Deprecated in MariaDB 10.0.

innodb_api_bk_commit_interval

Memcache never implemented in MariaDB.

innodb_api_disable_rowlock

Memcache never implemented in MariaDB.

innodb_api_enable_binlog

Memcache never implemented in MariaDB.

innodb_api_enable_mdl

Memcache never implemented in MariaDB.

[

innodb_api_trx_level](../../../../reference/storage-engines/innodb/innodb-system-variables.md)

innodb_use_sys_malloc

Deprecated in MariaDB 10.0.

Reserved Words

New reserved words: OVER, RECURSIVE and ROWS. These can no longer be used as identifiers without being quoted.

TokuDB

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

Replication

Replication from legacy MySQL servers may require setting binlog_checksum to NONE.

SQL Mode

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

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.

TLS

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.

Major New Features To Consider

You might consider using the following major new features in MariaDB 10.2:

  • Window Functions

  • mysqlbinlog now supports continuous binary log backups

  • Recursive Common Table Expressions

  • JSON functions

  • See also System Variables Added in MariaDB 10.2.

See Also

  • The features in MariaDB 10.2

  • Upgrading from MariaDB 10.1 to MariaDB 10.2 with Galera Cluster

  • Upgrading from MariaDB 10.0 to MariaDB 10.1

  • Upgrading from MariaDB 5.5 to MariaDB 10.0

This page is licensed: CC BY-SA / Gnu FDL

Upgrading from MariaDB 10.0 to MariaDB 10.1

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:

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

  1. Set innodb_fast_shutdown to 0. It can be changed dynamically with SET GLOBAL. For example:SET GLOBAL innodb_fast_shutdown=0;

  2. Stop MariaDB.

  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

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

  1. Make any desired changes to configuration options in option files, such as my.cnf. This includes removing any options that are no longer supported.

  2. Start MariaDB.

  3. Run mysql_upgrade.

  • mysql_upgrade does two things:

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

    2. Does a very quick check of all tables and marks them as compatible with the new version of MariaDB .

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

Notes

See Also

  • The features in MariaDB 10.1

  • Upgrading from MariaDB Galera Cluster 10.0 to MariaDB 10.1 with Galera Cluster

  • Upgrading from MariaDB 10.1 to MariaDB 10.2

  • Upgrading from MariaDB 5.5 to MariaDB 10.0

This page is licensed: CC BY-SA / Gnu FDL

Upgrading from MariaDB 5.3 to MariaDB 5.5

What you need to know

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.

How to upgrade

The suggested upgrade procedure is:

  1. For Windows, see Upgrading MariaDB on Windows instead.

  2. Shutdown MariaDB 5.3

  3. Take a backup (this is the perfect time to take a backup of your databases)

  4. Uninstall MariaDB 5.3

  5. Install MariaDB 5.5 [1]

  6. 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:

    1. Upgrades the permission tables in the mysql database with some new fields

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

  1. Add new options to my.cnf to enable features

  • If you change my.cnf then you need to restart mysqld

Incompatible changes between 5.3 and 5.5

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:

XtraDB options that have changed default values

Option
Old value
New value

innodb_change_buffering

inserts

all

innodb_flush_neighbor_pages

1

area

Options that have been removed or renamed

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_blocking_lru_restore; Useinnodb_blocking_buffer_pool_restore instead.

  • innodb_enable_unsafe_group_commit

  • innodb_expand_import; Use innodb_import_table_from_xtrabackup instead.

  • innodb_extra_rsegments; Use innodb_rollback_segments instead.

  • innodb_extra_undoslots

  • innodb_fast_recovery

  • innodb_flush_log_at_trx_commit_session

  • innodb_overwrite_relay_log_info

  • innodb_pass_corrupt_table; Use innodb_corrupt_table_action instead.

  • innodb_use_purge_thread

  • xtradb_enhancements

Notes

  1. ↑ 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

See also

  • The features in MariaDB 5.5

  • Perconas guide of how to upgrade to 5.5

This page is licensed: CC BY-SA / Gnu FDL