Upgrading from MariaDB 10.2 to MariaDB 10.3
You are viewing an old version of this article. View
the current version here.
Contents
How to Upgrade
The suggested upgrade procedure is:
- For Windows, see Upgrading MariaDB on Windows instead.
- Shutdown MariaDB 10.2,
- Take a backup (this is the perfect time to take a backup of your databases)
- Uninstall MariaDB 10.2
- Install MariaDB 10.3 [2]
- Run mysql_upgrade
- Ubuntu and Debian packages do this automatically when they are installed; Red Hat, CentOS, and Fedora packages do not
mysql_upgrade
does two things:- Upgrades the permission tables in the
mysql
database with some new fields - Does a very quick check of all tables and marks them as compatible with MariaDB 10.3
- Upgrades the permission tables in the
- In most cases this should be a fast operation (depending of course on the number of tables)
- Add new options to my.cnf to enable features
- If you change
my.cnf
then you need to restartmysqld
- If you change
Incompatible Changes Between 10.2 and 10.3
On most servers upgrading from 10.2 should be painless. However, there are some things that have changed which could affect an upgrade:
Options That Have Changed Default Values
Option | Old default value | New default value |
---|---|---|
innodb_flush_method | (empty) | fsync |
innodb_spin_wait_delay | 6 | 4 |
performance_schema_max_stage_classes | 150 | 160 |
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 |
---|---|
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_instrument_semaphores | |
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_mtflush_threads | Replaced by the innodb_page_cleaners system variable. |
innodb_support_xa | XA transactions are always supported. |
innodb_use_fallocate | |
innodb_use_mtflush | Replaced by the innodb_page_cleaners system variable. |
innodb_use_trim |
Reserved Words
- New reserved words: EXCEPT and INTERSECT. These can no longer be used as identifiers without being quoted.
SQL_MODE=ORACLE
- MariaDB 10.3 has introduced major new Oracle compatibility features. If you upgrade and are using this setting, please check the changes carefully.
Functions
- As a result of implementing Table Value Constructors, the VALUES function has been renamed to VALUE().
- Functions that used to only return 64-bit now can return 32-bit results (MDEV-12619). This could cause incompatibilities with strongly-typed clients.
mysqldump
- mysqldump in MariaDB 10.3 includes logic to cater for the mysql.transaction_registry table.
mysqldump
from an earlier MariaDB release cannot be used on MariaDB 10.3 and beyond.
MariaDB Backup and Percona XtraBackup
- Percona XtraBackup is not compatible with MariaDB 10.3. Installations currently using XtraBackup should upgrade to MariaDB Backup before upgrading to MariaDB 10.3
Major New Features To Consider
You might consider using the following major new features in MariaDB 10.3:
See Also
Comments
Comments loading...
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.