All pages
Powered by GitBook
1 of 25

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Upgrading MariaDB

Learn how to upgrade MariaDB Server. This section provides detailed instructions and best practices for performing seamless and safe upgrades to newer versions.

Upgrading on Linux

Guide to upgrading MariaDB on Linux.

Platform Specific Upgrade Guides

Provides tailored instructions for upgrading MariaDB on different operating systems, including Linux and Windows, and within specific environments like Galera Cluster.

MariaDB Community Server Upgrade Paths

An overview of supported upgrade paths for MariaDB Community Server, linking to specific guides for upgrading between major versions like 10.x and 11.x.

Archived Guides (Unmaintained CS Versions)

Upgrading guides for unmaintained versions of MariaDB Community Server.

Upgrading Between Minor MariaDB Versions

Steps for minor version upgrades (e.g., 10.5.8 to 10.5.9) on Linux, which typically involve package manager updates and a service restart.

For Windows, see Upgrading MariaDB on Windows 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.

To upgrade between minor versions of MariaDB on Linux/Unix (for example from MariaDB 10.11.4 to MariaDB 10.11.5), the following procedure is suggested:

  1. Stop MariaDB.

  2. Uninstall the old version of MariaDB.

  3. Install the new version of MariaDB.

  • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

  • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

  • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

  1. Make any desired changes to configuration options in , such as my.cnf.

  2. Start MariaDB.

To upgrade between major versions, see the following:

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

Upgrading from MariaDB 10.6 to MariaDB 10.11
  • 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

  • Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Upgrading Between Major MariaDB Versions
    Upgrading from MariaDB 11.1 to MariaDB 11.2
    Upgrading from MariaDB 11.0 to MariaDB 11.1
    Upgrading from MariaDB 10.11 to MariaDB 11.0

    Upgrading MariaDB on Windows

    Guide to upgrading MariaDB on Windows using the MSI installer, supporting both minor upgrades and major version migrations using the upgrade wizard.

    For incompatibilities such as removed features, and changes to variables, see the pages describing changes by version on Upgrading MariaDB.

    Minor Upgrades

    To install a minor upgrade with MSI, just download the MSI and install it. It will do everything that needs to be done for minor upgrade automatically - shutdown MariaDB service(s), replace executables and DLLs, and start service(s) again.

    The rest of the article is dedicated to major upgrades, e.g 10.1.x to 10.2.y.

    General Information on Upgrade and Version Coexistence

    This section assumes MSI installations.

    First, check everything listed in the Incompatibilities section of the article relating to the version you are upgrading, for example, , to make sure you are prepared for the upgrade.

    MariaDB (and also MySQL) allows different versions of the product to co-exist on the same machine, as long as these versions are different either in major or minor version numbers. For example, it is possible to have say and 5.2.6 to be installed on the same machine.

    However only a single instance of 5.2 can exist. If for example 5.2.7 is installed on a machine where 5.2.6 is already installed, the installer will just replace 5.2.6 executables with 5.2.7 ones.

    Now imagine, that both 5.1 and 5.2 are installed on the same machine and we want to upgrade the database instance running on 5.1 to the new version. In this case special tools are requied. Traditionally, is used to accomplish this. On Windows, the is a complicated multiple-step manual process.

    Since , the Windows distribution includes tools that simplify migration between different versions and also allow migration between MySQL and MariaDB.

    Note. Automatic upgrades are only possible for DB instances that run as a Windows service.

    General Recommendations

    Important: Ignore any statement that tells you to "just uninstall MySQL and install MariaDB". This does not work on Windows, never has, and never will. Keep your MySQL installed until after the database had been converted.

    The following install/upgrade sequence is recommended in case of "major" upgrades, like going from 5.3 to 5.5

    • Install new version, while still retaining the old one

    • Upgrade services one by one, like described later in the document (e.g with mysql_upgrade_service). It is recommeded to have services cleanly shut down before the upgrade.

    • Uninstall old version when previous step is done.

    Note. This recommendation differs from the procedure on Unixes, where the upgrade sequence is "uninstall old version, install new version"

    Upgrade Wizard

    This is a GUI tool that is typically invoked at the end of a MariaDB installation if upgradable services are found. The UI allows you to select instances you want to upgrade.

    mysql_upgrade_service

    This is a command line tool that performs upgrades. The tool requires full administrative privileges (it has to start and stop services).

    Example usage:

    mysql_upgrade_service accepts a single parameter — the name of the MySQL or MariaDB service. It performs all the steps to convert a MariaDB/MySQL instance running as the service to the current version.

    Migration to 64 bit MariaDB from 32 bit

    Earlier we said that only single instance of "MariaDB ." version can be installed on the same machine. This was almost correct, because MariaDB MSI installations allow 32 and 64-bit versions to be installed on the same machine, and in this case it is possible to have two instances of say 5.2 installed at the same time, an x86 one and an x64 one. One can use the x64 Upgrade wizard to upgrade an instance running as a 32-bit process to run as 64-bit.

    Upgrading ZIP-based Installations.

    Both UpgradeWizard and mysql_upgrade_service can also be used to upgrade database instances that were installed with the .

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

    Upgrading from MariaDB 10.1 to MariaDB 10.2
    mysql_upgrade
    MySQL upgrade
    ZIP installation
    UpgradeWizard

    Upgrading from MariaDB 11.1 to MariaDB 11.2

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    This page includes details for upgrading from to . Note that and 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 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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. .

    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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • mariadb-upgrade does two things:

      1. Ensures that the system tables in the 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

    Options That Have Been Removed or Renamed

    The following options should be removed or renamed if you use them in your :

    Option
    Reason

    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

    See Also

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

    Upgrading from MariaDB 11.2 to MariaDB 11.3

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    This page includes details for upgrading from to . Note that is a short-term release, only maintained for one year. 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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. .

    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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • mariadb-upgrade does two things:

      1. Ensures that the system tables in the 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

    Options That Have Been Removed or Renamed

    The following options should be removed or renamed if you use them in your :

    Option
    Reason

    See Also

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

    Upgrading from MariaDB 11.3 to MariaDB 11.4

    Instructions for upgrading from the rolling release 11.3 to the long-term support release 11.4, detailing package updates and system table upgrades.

    This page includes details for upgrading from to . Note that is a , and is a . After , one can continue to the next rolling release, 11.5.2, 11.6.2 and so on, or remain on the long-term series, . etc.

    How to Upgrade

    For Windows, see .

    For MariaDB Galera Cluster, see 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

    mysql_upgrade_service --service=MySQL
    Upgrading from MariaDB 10.11 to MariaDB 11.0

    optimizer_switch

    See optimizer-switch.

    innodb_purge_batch_size

    300

    1000

    old_alter_table

    Superceded by alter_algorithm.

    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

    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mariadb-upgrade
    mysql
    option files
    Upgrading from MariaDB 11.0 to MariaDB 11.1
    Upgrading from MariaDB 11.0 to MariaDB 11.1

    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

    date_format

    Unused.

    datetime_format

    Unused.

    max_tmp_tables

    Unused.

    time_format

    Unused.

    Deprecated by .

    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mariadb-upgrade
    mysql
    option files
    Upgrading from MariaDB 11.1 to MariaDB 11.2
    .

    The suggested upgrade procedure is:

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

    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.3 and 11.4

    Options That Have Been Removed

    The following options should be removed if you use them in your option files:

    Option
    Reason

    Unused code.

    See Also

    • Features in MariaDB 11.4

    • Upgrading from MariaDB 10.6 to MariaDB 10.7 with Galera Cluster

    • Upgrading from MariaDB 11.2 to MariaDB 11.3

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

    MariaDB 11.4
    rolling release
    MariaDB 11.4
    long-term maintenance release
    MariaDB 11.4.2
    MariaDB 11.4.3
    MariaDB 11.4.4
    Upgrading MariaDB on Windows
    mariadb-backup

    Upgrading from MariaDB 10.11 to MariaDB 11.0

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    This page includes details for upgrading from to . It is currently incomplete. Note that is , while is a short-term maintenance release, only maintained for one year.

    How to Upgrade

    For Windows, see .

    For MariaDB Galera Cluster, see 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 .

    Upgrading Between Major MariaDB Versions

    General instructions for performing major version upgrades (e.g., 10.3 to 10.4) on Linux, covering repository updates, backup recommendations, and using `mariadb-upgrade`.

    MariaDB is designed to allow easy upgrades. You should be able to trivially upgrade from ANY earlier MariaDB version to the latest one (for example .x to .x), usually in a few seconds. This is also mainly true for any MySQL version < 8.0 to and up.

    Upgrades are normally easy because:

    • All MariaDB table data files are backward compatible

    • The MariaDB connection protocol is backward compatible. You don't normally need to upgrade any of your old clients to be able to connect to a newer MariaDB version.

    The suggested upgrade procedure is:
    1. Modify the repository configuration, so the system's package manager installs . 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

    0

    3

    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

    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

    is not particularly useful and causes a maintenance burden.

    See Also

    • 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

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

    MariaDB 10.11
    MariaDB 10.11
    maintained for five years
    Upgrading MariaDB on Windows
    Upgrading from MariaDB 10.6 to MariaDB 10.7 with Galera Cluster
    mariadb-backup

    The MariaDB replica can be of any newer version than the primary.

    MariaDB Corporation regularly runs tests to check that one can upgrade from to the latest MariaDB version without any trouble. All older versions should work too (as long as the storage engines you were using are still around).

    Note that if you are using MariaDB Galera Cluster, you have to follow the !

    Requirements for Doing an Upgrade Between Major Versions

    • Go through the individual version upgrade notes (listed below) to look for any major changes or configuration options that have changed.

    • Ensure that the target MariaDB version supports the storage engines you are using. For example, in 10.5 TokuDB is not supported.

    • Back up the database (just in case). At least, take a copy of the mysql system database directory under the data directory with mariadb-dump --add-drop-table mysql (called mysqldump in and earlier) as most of the upgrade changes are done there (adding new fields and new system tables etc).

    • Cleanly shutdown the server. This is necessary because even if data files are compatible between versions, recovery logs may not be.

      • Ensure that the variable is not 2 (fast crash shutdown). The default of this variable is 1.

      • must be less than 3.

    Note that rpms don't support upgrading between major versions, only minor like 10.4.1 to 10.4.2. If you are using rpms, you should de-install the old MariaDB rpms and install the new MariaDB rpms before running mariadb-upgrade. Note that when installing the new rpms, mariadb-upgrade may be run automatically. There is no problem with running mariadb-upgrade many times.

    Recommended Steps

    • If you have a primary-replica setup, first upgrade one replica and when you have verified that the replica works well, upgrade the rest of the replicas (if any). Then upgrade one replica to primary, upgrade the primary, and change the replica to a primary.

    • If you don't have a primary-replica setup, then take a backup, shutdown MariaDB and do the upgrade.

    Step by Step Instructions for Upgrades

    • Upgrade MariaDB binaries and libraries, preferably without starting MariaDB.

    • If the MariaDB server process, mariadbd was not started as part of the upgrade, start it by executing mariadbd --skip-grant-tables. This may produce some warnings about some system tables not being up to date, but you can ignore these for now as mariadb-upgrade will fix that.

    • Run mariadb-upgrade

    • Restart MariaDB server.

    Work Done by mariadb-upgrade

    The main work done when upgrading is done by running mariadb-upgrade. The main things it does are:

    • Updating the system tables in the mysql database to the newest version. This is very quick.

    • mariadb-upgrade also runs mariadb-check --check-upgrade to check if there have been any collation changes between the major versions. This recreates indexes in old tables that are using any of the changed collations. This can take a bit of time if there are a lot of tables or there are many tables which used the changed collation. The last time a collation changed was in MariaDB/MySQL 5.1.23.

    Post Upgrade Work

    Check the MariaDB error log for any problems during upgrade. If there are any warnings in the log files, do your best to get rid of them!

    The common warnings/errors are:

    • Using obsolete options. If this is the case, remove them from your my.cnf files.

    • Check the manual for new features that have been added since your last MariaDB version.

    • Test that your application works as before. The main difference from before is that because of optimizer improvements your application should work better than before, but in some rare cases the optimizer may get something wrong. In this case, you can try to use explain, or optimizer_switch to fix the queries.

    If Something Goes Wrong

    • First, check the MariaDB error log to see if you are using configure options that are not supported anymore.

    • Check the upgrade notices for the MariaDB release that you are upgrading to.

    • File an issue in the so that we know about the issue and can provide a fix to make upgrades even better.

    • Add a comment to this manual entry for how we can improve it.

    Disaster Recovery

    In the unlikely event something goes wrong, you can try the following:

    • Remove the InnoDB tables from the mysql data directory. They are:

      • gtid_slave_pos

      • innodb_table_stats

      • innodb_index_stats

      • transaction_registry

    • Move the mysql data directory to mysql-old and run to generate a new one.

    • After the above, you have to add back your old users.

    • When done, delete the mysql-old data directory.

    Downgrading

    MariaDB server is not designed for downgrading. That said, in most cases, as long as you haven't run any ALTER TABLE or CREATE TABLE statements and you have a mariadb-dump of your old mysql database , you should be able to downgrade to your previous version by doing the following:

    • Do a clean shutdown. For this special case you have to set innodb_fast_shutdown to 0,before taking down the new MariaDB server, to ensure there are no redo or undo logs that need to be applied on the downgraded server.

    • Delete the tables in the mysql database (if you didn't use the option --add-drop-table to mariadb-dump)

    • Delete the new MariaDB installation

    • Install the old MariaDB version

    • Start the server with

    • Install the old mysql database

    • Execute in the

    See Also

    • Upgrading from MySQL to MariaDB

    • Upgrading from MariaDB 10.11 to MariaDB 11.4

    • Upgrading from MariaDB 10.6 to MariaDB 10.11

    • Upgrading from MariaDB 10.6 to MariaDB 10.7

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

    MariaDB 10.11
    Upgrading from MariaDB 11.1 to MariaDB 11.2
    Upgrading from MariaDB 10.11 to MariaDB 11.4
    debug_no_thread_alarm

    Upgrading from MariaDB 10.7 to MariaDB 10.8

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. .

    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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • mariadb-upgrade does two things:

      1. Ensures that the system tables in the 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

    Options That Have Been Removed or Renamed

    The following options should be removed or renamed if you use them in your :

    Option
    Reason

    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

    Major New Features To Consider

    You might consider using the following major new features in :

    • Stored procedures already have support for the parameter qualifiers. Added as well for and (IN only) ().

    • Individual columns in the can now be explicitly sorted in the ascending or descending order. This can be useful for optimizing certain cases (, , , ).

    • See also .

    See Also

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

    Upgrading from MariaDB 10.11 to MariaDB 11.4

    Guide for upgrading from the previous LTS version 10.11 to 11.4, highlighting major optimizer changes, replication improvements, and SSL defaults.

    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.

    For MariaDB Galera Cluster, see Upgrading from MariaDB 11.4 to MariaDB 11.4 with Galera Cluster.

    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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. .

    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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • mariadb-upgrade does two things:

      1. Ensures that the system tables in the 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.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
    Reason

    Options That Have Changed Default Values

    Option
    Old default
    New default

    Options That Have Been Removed or Renamed

    The following options should be removed or renamed if you use them in your :

    Option
    Reason

    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

    See Also

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

    Upgrading from MariaDB 10.3 to MariaDB 10.4

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    How to Upgrade

    For Windows, see Upgrading MariaDB on Windows instead.

    For MariaDB Galera Cluster, see 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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. .

    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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • mysql_upgrade does two things:

      1. Ensures that the system tables in the 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

    Options That Have Been Removed or Renamed

    The following options should be removed or renamed if you use them in your :

    Option
    Reason

    Authentication and TLS

    • See for an overview of the changes.

    • The is now default on Unix-like systems.

    • TLSv1.0 is disabled by default in . See and .

    Major New Features To Consider

    You might consider using the following major new features in :

    • has been upgraded from 3 to 4.

    • extended with support for .

    See Also

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

    Upgrading from MariaDB 11.4 to MariaDB 11.8

    Upgrade guide for moving from MariaDB 11.4 to 11.8, covering new features like vector search, optimizer improvements, and data type enhancements.

    This page includes details for upgrading from MariaDB 11.4 to the subsequent long-term maintenance version, MariaDB 11.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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. .

    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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • mariadb-upgrade does two things:

      1. Ensures that the system tables in the 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.4 and 11.8

    On most servers upgrading from 11.4 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
    Reason

    Options That Have Changed Default Values

    Option
    Old default
    New default

    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

    See Also

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

    Upgrading from MariaDB 5.3 to MariaDB 5.5

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    What you need to know

    There are no changes in table or index formats between and , so on most servers the upgrade should be painless.

    How to upgrade

    Upgrading from MariaDB 10.4 to MariaDB 10.5

    innodb_buffer_pool_chunk_size

    134217728

    Autosized

    spider_semi_table_lock

    1

    0

    innodb_log_write_ahead_size

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

    keep_files_on_create

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

    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mariadb-upgrade
    mysql
    option files
    IN, OUT and INOUT
    stored functions
    cursors
    MDEV-10654
    index
    ORDER BY
    MDEV-13756
    MDEV-26938
    MDEV-26939
    MDEV-26996
    System Variables Added 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

    in this manner no longer supported.

  • Upgrading from MariaDB 10.6 to MariaDB 10.11

  • Upgrading from MariaDB 10.5 to MariaDB 10.6

  • debug_no_thread_alarm

    Unused code.

    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.

    optimizer_switch

    See optimizer-switch.

    innodb_purge_batch_size

    300

    1000

    old_alter_table

    Superceded by alter_algorithm.

    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.

    MariaDB 11.4
    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mariadb-upgrade
    mysql
    option files
    option files
    Features in MariaDB 11.4

    See also System Variables Added in MariaDB 10.4.

    Upgrading from MariaDB 10.0 to MariaDB 10.1

    slave_transaction_retry_errors

    1213,1205

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

    OFF

    NONE

    ON

    OFF

    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mysql_upgrade
    mysql database
    option files
    Authentication from MariaDB 10.4
    unix_socket authentication plugin
    tls_version
    TLS Protocol Versions
    System-versioning
    application-time periods
    User password expiry
    Account Locking
    Upgrading from MariaDB 10.2 to MariaDB 10.3
    Upgrading from MariaDB 10.1 to MariaDB 10.2
    Galera
    Galera
    Upgrading from MariaDB 10.6 to MariaDB 10.11
  • Upgrading from MariaDB 10.5 to MariaDB 10.6

  • Deprecated in , defaults to OFF.

    Old

    MariaDB 11.8
    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mariadb-upgrade
    mysql
    option files
    Features in MariaDB 11.8
    Features in MariaDB 11.4
    Upgrading from MariaDB 10.11 to MariaDB 11.4

    The suggested upgrade procedure is:

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

    2. Shutdown

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

    4. Uninstall

    5. Install []

    6. Run

    • 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

    • 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

    inserts

    all

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

    • innodb_blocking_lru_restore; Use innodb_blocking_buffer_pool_restore instead.

    • innodb_enable_unsafe_group_commit

    • innodb_expand_import; Use instead.

    • ; Use instead.

    • innodb_fast_recovery

    • innodb_flush_log_at_trx_commit_session

    • ; Use instead.

    • ; Use instead.

    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:

    To something like this:

    And then run

    And in Red Hat, CentOS, and Fedora, change the baseurl line from something that looks like this:

    To something that looks like this:

    And then run

    See also

    • Perconas guide of how to upgrade to 5.5

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

    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

    Upgrading from MariaDB 10.7 to MariaDB 10.8
    Upgrading from MariaDB 10.6 to MariaDB 10.7
    innodb_undo_tablespaces
    histogram_type
    innodb_change_buffer_max_size
    InnoDB Change Buffer removed
    innodb_change_buffering
    InnoDB Change Buffer removed
    innodb_defragment
    InnoDB Defragmentation
    innodb_defragment_n_pages
    innodb_defragment_stats_accuracy
    innodb_defragment_fill_factor_n_recs
    innodb_defragment_fill_factor
    innodb_defragment_frequency
    innodb_fast_shutdown
    innodb_force_recovery
    mariadb-install-db
    mariadbd --skip-grant-tables
    mariadb client
    FLUSH PRIVILEGES
    Upgrading from MariaDB 10.5 to MariaDB 10.6
    Upgrading from MariaDB 10.4 to MariaDB 10.5
    innodb_fast_shutdown

    Upgrading from MariaDB 11.0 to MariaDB 11.1

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    This page includes details for upgrading from to . Note that and 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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. .

    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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • mariadb-upgrade does two things:

      1. Ensures that the system tables in the 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
    Reason

    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

    See Also

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

    Upgrading from MariaDB 10.0 to MariaDB 10.1

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    What You Need to Know

    There are no changes in table or index formats between and , so on most servers the upgrade should be painless.

    How to Upgrade

    deb http://ftp.osuosl.org/pub/mariadb/repo/5.3/ubuntu trusty main
    deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu trusty main
    apt-get update && apt-get upgrade
    baseurl = http://yum.mariadb.org/5.3/centos6-amd64
    baseurl = http://yum.mariadb.org/5.5/centos6-amd64
    yum update
    Upgrading from MariaDB 10.6 to MariaDB 10.11

    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.

    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.

    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mariadb-upgrade
    mysql
    option files
    Upgrading from MariaDB 10.11 to MariaDB 11.0

    For Windows, see Upgrading MariaDB on Windows instead.

    For MariaDB Galera Cluster, see 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 . 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

    • 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 master to a 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

    ON

    OFF

    128K

    256K

    1M

    4M

    8192

    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

    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 :

    • is now included by default.

    • Encryption

    • InnoDB/XtraDB Page Compression

    Notes

    See Also

    • 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

    1
    mysql_upgrade
    innodb_import_table_from_xtrabackup
    innodb_extra_rsegments
    innodb_rollback_segments
    innodb_extra_undoslots
    innodb_overwrite_relay_log_info
    innodb_recovery_update_relay_log
    innodb_pass_corrupt_table
    innodb_corrupt_table_action
    innodb_use_purge_thread
    innodb_change_buffering
    innodb_flush_neighbor_pages
    innodb_defragment_stats_accuracy
    Defragmenting InnoDB Tablespaces

    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

    innodb_log_compressed_pages
    join_buffer_size
    max_allowed_packet
    query_alloc_block_size
    rpl_recovery_rank

    Upgrading from MariaDB 10.4 to MariaDB 10.5

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    How to Upgrade

    For Windows, see Upgrading MariaDB on Windows instead.

    For MariaDB Galera Cluster, see .

    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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. .

    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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • mysql_upgrade does two things:

      1. Ensures that the system tables in the 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.4 and 10.5

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

    Binary name changes

    All binaries previously beginning with mysql now begin with mariadb, with symlinks for the corresponding mysql command.

    Usually that shouldn't cause any changed behavior, but when starting the MariaDB server via , or via the script symlink, the server process will now always be started as mariadbd, not mysqld.

    So anything looking for the mysqld name in the system process list, like e.g. monitoring solutions, now needs for mariadbd instead when the server / service is not started directly, but via mysqld_safe or as a system service.

    GRANT PRIVILEGE changes

    A number of statements changed the privileges that they require. The old privileges were historically inappropriately chosen in the upstream. 10.5.2 fixes this problem. Note, these changes are incompatible to previous versions. A number of GRANT commands might be needed after upgrade.

    • SHOW BINLOG EVENTS now requires the BINLOG MONITOR privilege (requred REPLICATION SLAVE prior to 10.5.2).

    • SHOW SLAVE HOSTS now requires the REPLICATION MASTER ADMIN privilege (required REPLICATION SLAVE prior to 10.5.2).

    Options That Have Changed Default Values

    Option
    Old default value
    New default value

    Options That Have Been Removed or Renamed

    The following options should be removed or renamed if you use them in your :

    Option
    Reason

    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

    Major New Features To Consider

    You might consider using the following major new features in :

    • The allows one to archive MariaDB tables in Amazon S3, or any third-party public or private cloud that implements S3 API.

    • columnar storage engine.

    • See also .

    See Also

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

    Upgrading from MariaDB 10.5 to MariaDB 10.6

    Instructions for upgrading to MariaDB 10.6, noting significant changes like the default character set switch to `utf8mb3` and atomic DDL support.

    How to Upgrade

    For Windows, see Upgrading MariaDB on Windows.

    For MariaDB Galera Cluster, see .

    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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. .

    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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • mariadb-upgrade does two things:

      1. Ensures that the system tables in the 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.5 and 10.6

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

    The bahaviour of sorting non-deterministic variables in a Select query can be changed , see ()

    Reserved Word

    • New : OFFSET. This can no longer be used as an without being quoted.

    InnoDB COMPRESSED Row Format

    From until , tables that are of the COMPRESSED row format are read-only by default. This was intended to be the first step towards removing write support and deprecating the feature.

    This plan has been scrapped, and from , COMPRESSED tables are no longer read-only by default.

    From to , set the variable to OFF to make the tables writable.

    Character Sets

    From , the utf8 (and related collations) is by default an alias for utf8mb3 rather than the other way around. It can be set to imply utf8mb4 by changing the value of the system variable.

    Options That Have Changed Default Values

    Option
    Old default value
    New default value

    Options That Have Been Removed or Renamed

    The following options should be removed or renamed if you use them in your :

    Option
    Reason

    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

    Major New Features To Consider

    • See also .

    See Also

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

    SHOW SLAVE STATUS now requires the REPLICATION SLAVE ADMIN or the SUPER privilege (required REPLICATION CLIENT or SUPER prior to 10.5.2).
  • SHOW RELAYLOG EVENTS now requires the REPLICATION SLAVE ADMIN privilege (required REPLICATION SLAVE prior to 10.5.2).

  • 80

    90

    50

    80

    200

    210

    40

    50

    100

    -1

    100

    -1

    Deprecated and has had no effect since .

    Deprecated and has had no effect since .

    Deprecated and has had no effect since .

    No need for thread throttling any more.

    No need for thread throttling any more.

    Redo log was unnecessarily split into multiple files. Limited to 1 from .

    Prohibited optimizations.

    Having more than one page cleaner task no longer necessary.

    No need for thread throttling any more.

    Never really worked as intended, redo log format is being redone.

    Never really worked as intended, redo log format is being redone.

    No need for thread throttling any more.

    No need for thread throttling any more.

    It always makes sense to use the maximum number of rollback segments.

    Unused since multiple page size support was added.

    Upgrading from MariaDB 10.1 to MariaDB 10.2

    innodb_adaptive_hash_index

    ON

    OFF

    innodb_checksum_algorithm

    crc32

    full_crc32

    innodb_log_optimize_ddl

    ON

    OFF

    slave_parallel_mode

    conservative

    innodb_checksums

    Deprecated and functionality replaced by innodb_checksum_algorithms in .

    innodb_idle_flush_pct

    Has had no effect since merging InnoDB 5.7 from mysql-5.7.9 ().

    innodb_locks_unsafe_for_binlog

    Deprecated in . Use READ COMMITTED transaction isolation level instead.

    innodb_rollback_segments

    Deprecated and replaced by innodb_undo_logs in .

    innodb_stats_sample_pages

    Deprecated in . Use innodb_stats_transient_sample_pages instead.

    max_long_data_size

    Deprecated and replaced by max_allowed_packet in .

    innodb_adaptive_max_sleep_delay

    No need for thread throttling any more.

    innodb_background_scrub_data_check_interval

    Problematic ‘background scrubbing’ code removed.

    innodb_background_scrub_data_interval

    Problematic ‘background scrubbing’ code removed.

    innodb_background_scrub_data_compressed

    Problematic ‘background scrubbing’ code removed.

    innodb_background_scrub_data_uncompressed

    Problematic ‘background scrubbing’ code removed.

    innodb_buffer_pool_instances

    Having more than one buffer pool is no longer necessary.

    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mysql_upgrade
    mysql
    systemd
    mysqld_safe
    option files
    S3 storage engine
    ColumnStore
    System Variables Added in MariaDB 10.5
    Upgrading from MariaDB 10.3 to MariaDB 10.4
    Upgrading from MariaDB 10.2 to MariaDB 10.3

    optimistic

    fsync

    O_DIRECT

    Empty

    UTF8_IS_UTF8MB3

    The variable is still present, but the *innodb and *none options have been removed as the crc32 algorithm only is supported from .

    Upgrading from MariaDB 10.2 to MariaDB 10.3

    character_set_client

    utf8

    utf8mb3

    character_set_connection

    utf8

    utf8mb3

    character_set_results

    utf8

    utf8mb3

    character_set_system

    utf8

    innodb_adaptive_max_sleep_delay

    innodb_background_scrub_data_check_interval

    innodb_background_scrub_data_compressed

    innodb_background_scrub_data_interval

    innodb_background_scrub_data_uncompressed

    innodb_buffer_pool_instances

    Use instead.

    Use instead.

    MariaDB 10.6
    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mariadb-upgrade
    mysql
    MDEV-27745
    reserved word
    identifier
    MariaDB 10.6.0
    MariaDB 10.6.5
    MariaDB 10.6.6
    MariaDB 10.6.0
    MariaDB 10.6.5
    innodb_read_only_compressed
    MariaDB 10.6
    character set
    old_mode
    option files
    System Variables Added in MariaDB 10.6
    The features in MariaDB 10.6
    Upgrading from MariaDB 10.4 to MariaDB 10.5
    Upgrading from MariaDB 10.3 to MariaDB 10.4

    utf8mb3

    Upgrading from MariaDB 10.6 to MariaDB 10.11

    Detailed upgrade path from 10.6 to 10.11, including changes in InnoDB defaults, new system variables, and the transition to a new release series.

    How to Upgrade

    For Windows, see Upgrading MariaDB on Windows.

    For MariaDB Galera Cluster, see .

    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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. .

    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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • mariadb-upgrade does two things:

      1. Ensures that the system tables in the 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.11

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

    Compression

    If a non-zlib compression algorithm was used in or before upgrading to 10.11, those tables will be unreadable until the appropriate compression library is installed. See .

    Options That Have Changed Default Values

    Option
    Old default
    New default

    Options That Have Been Removed or Renamed

    The following options should be removed or renamed if you use them in your :

    Option
    Reason

    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

    See Also

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

    -1

    100

    -1

    1

    -1

    1

    -1

    16000

    -1

    16000

    -1

    0

    -1

    16000

    -1

    0

    -1

    6

    -1

    2

    -1

    51

    -1

    1

    -1

    0

    -1

    2

    -1

    2

    -1

    1

    -1

    0

    -1

    9223372036854775807

    -1

    0

    -1

    0

    -1

    0

    -1

    1024

    -1

    9223372036854775807

    -1

    0

    -1

    0

    -1

    0

    -1

    1

    -1

    1

    -1

    1

    -1

    32767

    -1

    100

    -1

    600

    -1

    600

    -1

    3

    -1

    10485760

    -1

    1024

    -1

    0

    -1

    1

    -1

    0

    -1

    1

    -1

    2

    -1

    1

    -1

    1

    1

    0

  • Upgrading from MariaDB 10.6 to MariaDB 10.7 with Galera Cluster

  • Upgrading from MariaDB 10.7 to MariaDB 10.8

  • Upgrading from MariaDB 10.6 to MariaDB 10.7

  • Upgrading from MariaDB 10.5 to MariaDB 10.6

  • innodb_buffer_pool_chunk_size

    134217728

    Autosized

    spider_auto_increment_mode

    -1

    0

    spider_bgs_first_read

    -1

    2

    spider_bgs_mode

    -1

    innodb_log_write_ahead_size

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

    innodb_version

    Redundant

    Use instead.

    Use instead.

    keep_files_on_create

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

    MariaDB 10.11
    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mariadb-upgrade
    mysql
    InnoDB
    Mroonga
    Compression Plugins#Upgrading
    option files
    Features in MariaDB 10.11

    0

    performance_schema_max_cond_classes
    performance_schema_max_file_classes
    performance_schema_max_mutex_classes
    performance_schema_max_rwlock_classes
    performance_schema_setup_actors_size
    performance_schema_setup_objects_size
    multi_range_count
    thread_concurrency
    timed_mutexes
    innodb_commit_concurrency
    innodb_concurrency_tickets
    innodb_log_files_in_group
    innodb_log_optimize_ddl
    innodb_page_cleaners
    innodb_replication_delay
    innodb_scrub_log
    innodb_scrub_log_speed
    innodb_thread_concurrency
    innodb_thread_sleep_delay
    innodb_undo_logs
    large_page_size
    innodb_flush_method
    old_mode
    innodb_checksum_algorithm
    MariaDB 10.6
    innodb_commit_concurrency
    innodb_concurrency_tickets
    innodb_file_format
    innodb_large_prefix
    innodb_lock_schedule_algorithm
    innodb_log_checksums
    innodb_log_compressed_pages
    innodb_log_files_in_group
    innodb_log_optimize_ddl
    innodb_page_cleaners
    innodb_replication_delay
    innodb_scrub_log
    innodb_scrub_log_speed
    innodb_sync_array_size
    innodb_thread_concurrency
    innodb_thread_sleep_delay
    innodb_undo_logs

    Upgrading from MariaDB 10.2 to MariaDB 10.3

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    How to Upgrade

    For Windows, see Upgrading MariaDB on Windows instead.

    For MariaDB Galera Cluster, see 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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. . The server should be cleanly shut down, with no incomplete transactions remaining. must be set to 0 or 1 and 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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • 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

    Options That Have Been Removed or Renamed

    The following options should be removed or renamed if you use them in your :

    Option
    Reason

    Reserved Words

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

    SQL_MODE=ORACLE

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

    Functions

    • As a result of implementing Table Value Constructors, the has been renamed to VALUE().

    • Functions that used to only return 64-bit now can return 32-bit results (). This could cause incompatibilities with strongly-typed clients.

    mysqldump

    • in includes logic to cater for the . mysqldump from an earlier MariaDB release cannot be used on and beyond.

    MariaDB Backup and Percona XtraBackup

    • is not compatible with . Installations currently using XtraBackup should upgrade to before upgrading to .

    Privileges

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

    Major New Features To Consider

    You might consider using the following major new features in :

    • See also .

    See Also

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

    No longer necessary as the Antelope is no longer supported.

    No longer necessary as the Antelope is no longer supported.

    Used in XtraDB-only

    Used in XtraDB-only

    Large index key prefixes were made default from , and limiting tables to small prefixes is no longer permitted in .

    Used in XtraDB-only

    Used in XtraDB-only

    Used in XtraDB-only

    Used in XtraDB-only

    Used in XtraDB-only

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

    Replaced by the 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 system variable.

    Used in XtraDB-only

    innodb_flush_method

    (empty)

    fsync

    innodb_spin_wait_delay

    6

    4

    performance_schema_max_stage_classes

    150

    160

    plugin_maturity

    unknown

    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.

    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    innodb_fast_shutdown
    innodb_force_recovery
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mysql_upgrade
    option files
    reserved words
    identifiers
    VALUES function
    MDEV-12619
    mysqldump
    mysql.transaction_registry table
    Percona XtraBackup
    MariaDB Backup
    SUPER privilege
    mysql_upgrade
    System-versioned tables
    Sequences
    System Variables Added 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

    One less than the server maturity

    spider_bgs_second_read
    spider_bka_mode
    spider_bka_table_name_type
    spider_buffer_size
    spider_bulk_size
    spider_bulk_update_mode
    spider_bulk_update_size
    spider_casual_read
    spider_connect_timeout
    spider_crd_bg_mode
    spider_crd_interval
    spider_crd_mode
    spider_crd_sync
    spider_crd_type
    spider_crd_weight
    spider_delete_all_rows_type
    spider_direct_dup_insert
    spider_direct_order_limit
    spider_error_read_mode
    spider_error_write_mode
    spider_first_read
    spider_init_sql_alloc_size
    spider_internal_limit
    spider_internal_offset
    spider_internal_optimize
    spider_internal_optimize_local
    spider_load_crd_at_startup
    spider_load_sts_at_startup
    spider_low_mem_read
    spider_max_order
    spider_multi_split_read
    spider_net_read_timeout
    spider_net_write_timeout
    spider_quick_mode
    spider_quick_page_byte
    spider_quick_page_size
    spider_read_only_mode
    spider_reset_sql_alloc
    spider_second_read
    spider_selupd_lock_mode
    spider_semi_split_read
    spider_semi_split_read_limit
    spider_semi_table_lock_connection
    spider_semi_table_lock

    Upgrading from MariaDB 10.6 to MariaDB 10.7

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    Note that 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 . For example,

    • On Debian, Ubuntu, and other similar Linux distributions, see for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

    1. .

    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 for more information.

    • On RHEL, CentOS, Fedora, and other similar Linux distributions, see for more information.

    • On SLES, OpenSUSE, and other similar Linux distributions, see for more information.

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

    2. .

    3. Run .

    • mariadb-upgrade does two things:

      1. Ensures that the system tables in the 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 .

    Compression

    If a non-zlib compression algorithm was used in or before upgrading to 10.7, those tables will be unreadable until the appropriate compression library is installed. See .

    Options That Have Changed Default Values

    Option
    Old default
    New default

    Options That Have Been Removed or Renamed

    The following options should be removed or renamed if you use them in your :

    Option
    Reason

    See Also

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

    -1

    1

    -1

    1

    -1

    16000

    -1

    16000

    -1

    0

    -1

    16000

    -1

    0

    -1

    6

    -1

    2

    -1

    51

    -1

    1

    -1

    0

    -1

    2

    -1

    2

    -1

    1

    -1

    0

    -1

    9223372036854775807

    -1

    0

    -1

    0

    -1

    0

    -1

    1024

    -1

    9223372036854775807

    -1

    0

    -1

    0

    -1

    0

    -1

    1

    -1

    1

    -1

    1

    -1

    32767

    -1

    100

    -1

    600

    -1

    600

    -1

    3

    -1

    10485760

    -1

    1024

    -1

    0

    -1

    1

    -1

    0

    -1

    1

    -1

    2

    -1

    1

    -1

    1

    -1

    1

    Upgrading from MariaDB 10.3 to MariaDB 10.4

    spider_auto_increment_mode

    -1

    0

    spider_bgs_first_read

    -1

    2

    spider_bgs_mode

    -1

    0

    spider_bgs_second_read

    -1

    Use instead.

    Use instead.

    Updating the MariaDB APT repository to a New Major Release
    Updating the MariaDB YUM repository to a New Major Release
    Updating the MariaDB ZYpp repository to a New Major Release
    Stop MariaDB
    Installing MariaDB Packages with APT
    Installing MariaDB Packages with YUM
    Installing MariaDB Packages with ZYpp
    option files
    Start MariaDB
    mariadb-upgrade
    mysql
    reserved word
    InnoDB
    Mroonga
    Compression Plugins#Upgrading
    option files
    Upgrading from MariaDB 10.5 to MariaDB 10.6
    Upgrading from MariaDB 10.4 to MariaDB 10.5

    100

    innodb_file_format_check
    InnoDB file format
    innodb_file_format_max
    InnoDB file format
    innodb_foreground_preflush
    innodb_instrument_semaphores
    innodb_kill_idle_transaction
    innodb_large_prefix
    innodb_locking_fake_changes
    innodb_log_arch_dir
    innodb_log_arch_expire_sec
    innodb_log_archive
    innodb_log_block_size
    innodb_log_checksum_algorithm
    innodb_log_checksums
    innodb_mtflush_threads
    innodb_page_cleaners
    innodb_sched_priority_cleaner
    innodb_show_locks_held
    innodb_show_verbose_locks
    innodb_support_xa
    innodb_use_fallocate
    innodb_use_global_flush_log_at_trx_commit
    innodb_use_mtflush
    innodb_page_cleaners
    innodb_use_stacktrace
    innodb_use_trim

    Upgrading from MariaDB 10.1 to MariaDB 10.2

    An upgrading guide for unmaintained versions of MariaDB Community Server.

    How to Upgrade

    For Windows, see instead.

    For MariaDB Galera Cluster, see 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 .

    The suggested upgrade procedure is:

    Modify the repository configuration, so the system's package manager installs . 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 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

    uses InnoDB as the default storage engine, rather than XtraDB, used in 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

    NORMAL

    BACKUP, QUICK

    OFF

    ON

    NONE

    CRC32

    STATEMENT

    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 to match .

    Deprecated in .

    Memcache never implemented in MariaDB.

    Memcache never implemented in MariaDB.

    Memcache never implemented in MariaDB.

    Memcache never implemented in MariaDB.

    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 , 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 :

    • Window Functions

    • mysqlbinlog now supports continuous binary log backups

    • Recursive Common Table Expressions

    • JSON functions

    • See also .

    See Also

    • 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 MariaDB on Windows
    mariadb-backup
    spider_bka_mode
    spider_bka_table_name_type
    spider_buffer_size
    spider_bulk_size
    spider_bulk_update_mode
    spider_bulk_update_size
    spider_casual_read
    spider_connect_timeout
    spider_crd_bg_mode
    spider_crd_interval
    spider_crd_mode
    spider_crd_sync
    spider_crd_type
    spider_crd_weight
    spider_delete_all_rows_type
    spider_direct_dup_insert
    spider_direct_order_limit
    spider_error_read_mode
    spider_error_write_mode
    spider_first_read
    spider_init_sql_alloc_size
    spider_internal_limit
    spider_internal_offset
    spider_internal_optimize
    spider_internal_optimize_local
    spider_load_crd_at_startup
    spider_load_sts_at_startup
    spider_low_mem_read
    spider_max_order
    spider_multi_split_read
    spider_net_read_timeout
    spider_net_write_timeout
    spider_quick_mode
    spider_quick_page_byte
    spider_quick_page_size
    spider_read_only_mode
    spider_reset_sql_alloc
    spider_second_read
    spider_selupd_lock_mode
    spider_semi_split_read
    spider_semi_split_read_limit
    spider_semi_table_lock_connection
    spider_reset_sql_alloc

    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

    [

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

    innodb_use_sys_malloc

    Deprecated in .

    System Variables Added in MariaDB 10.2
    aria_recover(_options)
    binlog_annotate_row_events
    binlog_checksum
    binlog_format
    aria_recover_options
    myisam_recover_options
    innodb_additional_mem_pool_size
    innodb_api_bk_commit_interval
    innodb_api_disable_rowlock
    innodb_api_enable_binlog
    innodb_api_enable_mdl
    Upgrading from MariaDB 10.5 to MariaDB 10.6 with Galera Cluster
    Upgrading from MariaDB 10.5 to MariaDB 10.6 with Galera Cluster
    wsrep_replicate_myisam
    wsrep_mode
    wsrep_strict_ddl
    wsrep_mode
    Upgrading from MariaDB 10.6 to MariaDB 10.11 with Galera Cluster
    Upgrading from MariaDB 10.6 to MariaDB 10.11 with Galera Cluster
    Upgrading from MariaDB 10.6 to MariaDB 10.11 with Galera Cluster
    wsrep_causal_reads
    wsrep_sync_wait=1
    Upgrading from MariaDB 10.6 to MariaDB 10.11 with Galera Cluster
    Galera upgrading instructions
    Galera upgrading instructions
    Upgrading from MariaDB 10.3 to MariaDB 10.4 with Galera Cluster
    Galera
    Upgrading from MariaDB 10.3 to MariaDB 10.4 with Galera Cluster
    wsrep_debug
    wsrep_load_data_splitting
    Upgrading from MariaDB 10.6 to MariaDB 10.11 with Galera Cluster
    wsrep_load_data_splitting
    Upgrading from MariaDB 10.6 to MariaDB 10.11 with Galera Cluster
    Upgrading from MariaDB 10.6 to MariaDB 10.11 with Galera Cluster
    Upgrading from MariaDB Galera Cluster
    Galera Cluster
    Upgrading from MariaDB 10.4 to MariaDB 10.5 with Galera Cluster
    Upgrading from MariaDB 10.4 to MariaDB 10.5 with Galera Cluster
    Upgrading from MariaDB 10.6 to MariaDB 10.11 with Galera Cluster
    wsrep_replicate_myisam
    wsrep_mode
    wsrep_strict_ddl
    wsrep_mode
    Upgrading with Galera Cluster
    Upgrading from MariaDB 10.6 to MariaDB 10.11 with Galera Cluster
    wsrep_replicate_myisam
    wsrep_mode
    wsrep_strict_ddl
    wsrep_mode
    Upgrading with Galera Cluster
    optimizer trace
    MariaDB bug tracker
    MariaDB 5.1.51
    MariaDB 5.2.6
    MariaDB 11.1
    MariaDB 11.2
    MariaDB 11.1
    MariaDB 11.2
    MariaDB 11.2
    Features in MariaDB 11.2
    Features in MariaDB 11.1
    MariaDB 11.2
    MariaDB 11.3
    MariaDB 11.2
    MariaDB 11.3
    MariaDB 11.3
    Features in MariaDB 11.3
    Features in MariaDB 11.2
    MariaDB 11.3
    MariaDB 11.3
    Features in MariaDB 11.3
    MariaDB 11.0
    MariaDB 11.0
    MariaDB 11.0
    Features in MariaDB 11.0
    MariaDB 10.3
    MariaDB 10.4
    MariaDB 5.5
    MariaDB 10.3
    MariaDB 10.8
    MariaDB 10.8
    The features in MariaDB 10.8
    MariaDB 10.4
    MariaDB 10.4
    MariaDB 10.4
    The features in MariaDB 10.4
    Features in MariaDB 11.3
    Features in MariaDB 11.2
    Features in MariaDB 11.1
    Features in MariaDB 11.0
    MariaDB 10.4
    MariaDB 5.3
    MariaDB 5.5
    MariaDB 5.3
    MariaDB 5.3
    MariaDB 5.5
    MariaDB 10.0
    The features in MariaDB 5.5
    MariaDB 5.5
    MariaDB 5.5
    MariaDB 11.0
    MariaDB 11.1
    MariaDB 11.0
    MariaDB 11.1
    MariaDB 11.1
    Features in MariaDB 11.1
    Features in MariaDB 11.0
    MariaDB 10.0
    MariaDB 10.1
    MariaDB 10.1
    MariaDB 10.1
    MariaDB 10.0
    MariaDB 10.1
    MariaDB 10.1
    The features in MariaDB 10.1
    MariaDB 10.5
    MariaDB 10.5
    The features in MariaDB 10.5
    MariaDB 10.0
    MariaDB 10.2.2
    MariaDB 10.0
    MariaDB 10.0
    MariaDB 10.0
    MariaDB 5.5
    MariaDB 5.3
    MariaDB 5.5
    MariaDB 5.5
    MariaDB 10.5
    Features in MariaDB 10.10
    Features in MariaDB 10.9
    Features in MariaDB 10.8
    Features in MariaDB 10.7
    MariaDB 10.7
    MariaDB 10.7
    The features in MariaDB 10.7
    MariaDB 10.3
    MariaDB 10.3
    changes carefully
    MariaDB 10.3
    MariaDB 10.3
    MariaDB 10.3
    MariaDB 10.3
    MariaDB 10.3
    The features in MariaDB 10.3
    MariaDB 10.2
    MariaDB 10.3
    MariaDB 10.2
    MariaDB 10.2.5
    MariaDB 10.2
    MariaDB 10.1
    MariaDB 10.2
    MariaDB 10.2
    The features in MariaDB 10.2
    MariaDB 10.0
    MariaDB 10.0