For Windows, see Upgrading MariaDB on Windows instead.
For MariaDB Galera Cluster, see Upgrading from MariaDB 10.2 to MariaDB 10.3 with Galera Cluster instead.
Before you upgrade, it would be best to take a backup of your database. This is always a good idea to do before an upgrade. We would recommend Mariabackup.
The suggested upgrade procedure is:
0 or 1 and innodb_force_recovery must be less than 3. sudo apt-get remove mariadb-server sudo yum remove MariaDB-server sudo zypper remove MariaDB-server my.cnf. This includes removing any options that are no longer supported. mysql_upgrade. mysql_upgrade does two things: mysql database are fully compatible with the new version. On most servers upgrading from 10.2 should be painless. However, there are some things that have changed which could affect an upgrade:
| Option | Old default value | New default value |
|---|---|---|
| innodb_flush_method | (empty) | fsync |
| innodb_spin_wait_delay | 6 | 4 |
| performance_schema_max_stage_classes | 150 | 160 |
| plugin_maturity | unknown | One less than the server maturity |
The following options should be removed or renamed if you use them in your option files:
| Option | Reason |
|---|---|
| innodb_buffer_pool_populate | Used in XtraDB-only |
| innodb_cleaner_lsn_age_factor | Used in XtraDB-only |
| innodb_corrupt_table_action | Used in XtraDB-only |
| innodb_empty_free_list_algorithm | Used in XtraDB-only |
| innodb_fake_changes | Used in XtraDB-only |
| innodb_file_format | The InnoDB file format is now Barracuda, and the old Antelope file format is no longer supported. |
| innodb_file_format_check | No longer necessary as the Antelope InnoDB file format is no longer supported. |
| innodb_file_format_max | No longer necessary as the Antelope InnoDB file format is no longer supported. |
| innodb_foreground_preflush | Used in XtraDB-only |
| innodb_instrument_semaphores | |
| innodb_kill_idle_transaction | Used in XtraDB-only |
| innodb_large_prefix | Large index key prefixes were made default from MariaDB 10.2, and limiting tables to small prefixes is no longer permitted in MariaDB 10.3. |
| innodb_locking_fake_changes | Used in XtraDB-only |
| innodb_log_arch_dir | Used in XtraDB-only |
| innodb_log_arch_expire_sec | Used in XtraDB-only |
| innodb_log_archive | Used in XtraDB-only |
| innodb_log_block_size | Used in XtraDB-only |
| innodb_log_checksum_algorithm | Translated to innodb_log_checksums (NONE to OFF, everything else to ON); only existed to allow easier upgrade from earlier XtraDB versions. |
| innodb_mtflush_threads | Replaced by the innodb_page_cleaners system variable. |
| innodb_sched_priority_cleaner | Used in XtraDB-only |
| innodb_show_locks_held | Used in XtraDB-only |
| innodb_show_verbose_locks | Used in XtraDB-only |
| innodb_support_xa | XA transactions are always supported. |
| innodb_use_fallocate | |
| innodb_use_global_flush_log_at_trx_commit | Used in XtraDB-only |
| innodb_use_mtflush | Replaced by the innodb_page_cleaners system variable. |
| innodb_use_stacktrace | Used in XtraDB-only |
| innodb_use_trim |
mysqldump from an earlier MariaDB release cannot be used on MariaDB 10.3 and beyond. DELETE HISTORY privilege, running mysql_upgrade will grant DELETE HISTORY as well. You might consider using the following major new features in MariaDB 10.3:
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/upgrading-from-mariadb-102-to-mariadb-103/