Upgrading from MariaDB 5.3 to MariaDB 5.5
Contents
What you need to know
There are no changes in table or index formats between MariaDB 5.3 and MariaDB 5.5, so on most servers the upgrade should be painless.
How to upgrade
The suggested upgrade procedure is:
- For Windows, see Upgrading MariaDB on Windows instead.
- Shutdown MariaDB 5.3
- Take a backup (this is the perfect time to take a backup of your databases)
- Uninstall MariaDB 5.3
- Install MariaDB 5.5 [1]
- 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 5.5
- 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 5.3 and 5.5
As mentioned previously, on most servers upgrading from 5.5 should be painless. However, there are some things that have changed which could affect an upgrade:
XtraDB options that have changed default values
Option | Old value | New value |
---|---|---|
innodb_change_buffering | inserts | all |
innodb_flush_neighbor_pages | 1 | area |
Options that have been removed or renamed
Percona, the provider of XtraDB, does not provide all earlier XtraDB features in the 5.5 code base. Because of that, MariaDB 5.5 can't provide them either. The following options are not supported by XtraDB 5.5. If you are using them in any of your my.cnf files, you should remove them before upgrading to 5.5.
- innodb_adaptive_checkpoint; Use innodb_adaptive_flushing_method instead.
- innodb_auto_lru_dump; Use innodb_buffer_pool_restore_at_startup instead (and innodb_buffer_pool_load_at_startup in MariaDB 10.0).
- innodb_blocking_lru_restore; Use innodb_blocking_buffer_pool_restore instead.
- innodb_enable_unsafe_group_commit
- innodb_expand_import; Use innodb_import_table_from_xtrabackup instead.
- innodb_extra_rsegments; Use innodb_rollback_segments instead.
- innodb_extra_undoslots
- innodb_fast_recovery
- innodb_flush_log_at_trx_commit_session
- innodb_overwrite_relay_log_info
- innodb_pass_corrupt_table; Use innodb_corrupt_table_action instead.
- innodb_use_purge_thread
- xtradb_enhancements
Notes
-
↑ If using a MariaDB
apt
oryum
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 MariaDBsources.list
entry from something that looks similar to this:deb http://ftp.osuosl.org/pub/mariadb/repo/5.3/ubuntu trusty main
To something like this:deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu trusty main
And then runapt-get update && apt-get upgrade
And in Red Hat, CentOS, and Fedora, change thebaseurl
line from something that looks like this:baseurl = http://yum.mariadb.org/5.3/centos6-amd64
To something that looks like this:baseurl = http://yum.mariadb.org/5.5/centos6-amd64
And then runyum update
See also
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.