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.
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:
innodb_fast_shutdown
to 0
. It can be changed dynamically with SET GLOBAL
. For example: SET GLOBAL innodb_fast_shutdown=0;
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. 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:
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
|
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 reserved word: RETURNING. This can no longer be used as an identifier without being quoted.
The SET OPTION
syntax is deprecated in MariaDB 10.0. Use SET
instead.
You should consider using the following new major features in MariaDB 10.0:
See Upgrading from MariaDB Galera Cluster 5.5 to MariaDB Galera Cluster 10.0 for more details on Galera upgrades.
innodb-open-files
variable defaults to the value of table-open-cache
(400
is the default) if it is set to any value less than 10
so long as innodb-file-per-table
is set to 1
or TRUE
(the default). If innodb_file_per_table
is set to 0
or FALSE
and innodb-open-files
is set to a value less than 10
, the default is 300
© 2019 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-55-to-mariadb-100/