Upgrading from MariaDB 5.5 to MariaDB 10.0
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
For Windows, see Upgrading MariaDB on Windows instead.
For MariaDB Galera Cluster, see Upgrading from MariaDB Galera Cluster 5.5 to MariaDB Galera Cluster 10.0 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:
- Modify the repository configuration, so the system's package manager installs MariaDB 10.0. 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.
- Set
innodb_fast_shutdown
to0
. It can be changed dynamically withSET GLOBAL
. For example:
SET GLOBAL innodb_fast_shutdown=0;
- Stop MariaDB.
- 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
- On Debian, Ubuntu, and other similar Linux distributions, execute the following:
- 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.
- Make any desired changes to configuration options in option files, such as
my.cnf
. This includes removing any options that are no longer supported. - Start MariaDB.
- Run
mysql_upgrade
.mysql_upgrade
does two things:- Ensures that the system tables in the
mysql
database are fully compatible with the new version. - Does a very quick check of all tables and marks them as compatible with the new version of MariaDB .
- Ensures that the system tables in the
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 |
Reserved Words
New reserved word: RETURNING. This can no longer be used as an identifier without being quoted.
Other
The SET OPTION
syntax is deprecated in MariaDB 10.0. Use SET
instead.
New Major Features To 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
Galera
See Upgrading from MariaDB Galera Cluster 5.5 to MariaDB Galera Cluster 10.0 for more details on Galera upgrades.
Variables
Notes
-
↑ 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