Upgrading from MariaDB 5.5 to MariaDB 10.0
You are viewing an old version of this article. View
the current version here.
Contents
What you need to know
There are no changes in table or index formats between MariaDB 5.5 and MariaDB 10.0, so on most servers the upgrade should be painless.
How to upgrade
The suggested upgrade procedure is:
- Shutdown and uninstall MariaDB 5.5
- Take a backup (this is the perfect time to take a backup of your databases)
- Install MariaDB 10.0 [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 10.0
- 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.5 and 10.0
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:
Options that have changed default values
Most of the following options have increased a bit in value to give better performance. They should not use much additional memory, but some of them a do use a bit more disk space.
Option | Old default value | New default value |
---|---|---|
aria-sort-buffer-size | 128M | 256M |
back_log | 50 | 150 |
innodb-buffer-pool-instances | 1 | 8 (except on 32-bit Windows) |
innodb-concurrency-tickets | 500 | 5000 |
innodb-log-file-size | 5M | 48M |
innodb-old-blocks-time | 0 | 1000 |
innodb-open-files | 300 | 400 [2] |
innodb-purge-batch-size | 20 | 300 |
innodb-undo-logs | ON | 20 |
max-connect-errors | 10 | 100 |
max-relay-log-size | 0 | 1024M |
myisam-sort-buffer-size | 8M | 128M |
optimizer-switch | ... | Added extended_keys=on, exists_to_in=on |
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 |
---|---|
engine-condition-pushdown | Replaced with set optimizer_switch='engine_condition_pushdown=on' |
innodb-adaptive-flushing-method | Removed by XtraDB |
innodb-autoextend-increment | Removed by XtraDB |
innodb-blocking-buffer-pool-restore | Removed by XtraDB |
innodb-buffer-pool-pages | Removed by XtraDB |
innodb-buffer-pool-pages-blob | Removed by XtraDB |
innodb-buffer-pool-pages-index | Removed by XtraDB |
innodb-buffer-pool-restore-at-startup | Removed by XtraDB |
innodb-buffer-pool-shm-checksum | Removed by XtraDB |
innodb-buffer-pool-shm-key | Removed by XtraDB |
innodb-checkpoint-age-target | Removed by XtraDB |
innodb-dict-size-limit | Removed by XtraDB |
innodb-doublewrite-file | Removed by XtraDB |
innodb-fast-checksum | Renamed to innodb-checksum-algorithm |
innodb-flush-neighbor-pages | Renamed to innodb-flush-neighbors |
innodb-ibuf-accel-rate | Removed by XtraDB |
innodb-ibuf-active-contract | Removed by XtraDB |
innodb-ibuf-max-size | Removed by XtraDB |
innodb-import-table-from-xtrabackup | Removed by XtraDB |
innodb-index-stats | Removed by XtraDB |
innodb-lazy-drop-table | Removed by XtraDB |
innodb-merge-sort-block-size | Removed by XtraDB |
innodb-persistent-stats-root-page | Removed by XtraDB |
innodb-read-ahead | Removed by XtraDB |
innodb-recovery-stats | Removed by XtraDB |
innodb-recovery-update-relay-log | Removed by XtraDB |
innodb-stats-auto-update | Renamed to innodb-stats-auto-recalc |
innodb-stats-update-need-lock | Removed by XtraDB |
innodb-sys-stats | Removed by XtraDB |
innodb-table-stats | Removed by XtraDB |
innodb-thread-concurrency-timer-based | Removed by XtraDB |
innodb-use-sys-stats-table | Removed by XtraDB |
xtradb-admin-command | Removed by XtraDB |
New major features you should consider
You should consider using the following new major features in MariaDB 10.0:
For master / slave setups
- Global transaction id is enabled by default. This makes it easier to change a slave to a master.
- MariaDB 10.0 supports parallel applying of queries on slaves. You can enable this with slave-parallel-threads=#. Note that this works only if your master is MariaDB 10.0 or later.
- Multi source replication
Variables
Notes
-
↑ If using a MariaDB
apt
oryum
repository, it is often enough to replace instances of '5.5' with '10.0' 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.5/ubuntu trusty main
To something like this:deb http://ftp.osuosl.org/pub/mariadb/repo/10.0/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.5/centos6-amd64
To something that looks like this:baseurl = http://yum.mariadb.org/10.0/centos6-amd64
And then runyum update
-
↑ The
innodb-open-files
variable defaults to the value oftable-open-cache
(400
is the default) if it is set to any value less than10
so long asinnodb-file-per-table
is set to1
orTRUE
(the default). Ifinnodb_file_per_table
is set to0
orFALSE
andinnodb-open-files
is set to a value less than10
, the default is300
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.